百萬以上數(shù)據(jù)時(shí)數(shù)據(jù)庫的檢索 當(dāng)數(shù)據(jù)庫中數(shù)據(jù)很少時(shí),基本不用考慮速度問題。 www.2cto.com 但是當(dāng)數(shù)據(jù)量到了百萬條的級(jí)別時(shí),速度就很成問題了。 本人初學(xué)者,有以下經(jīng)驗(yàn)。 方法一: 在要檢索的列上添加索引,例如用mysql時(shí)主鍵是自動(dòng)有索引的,非主鍵也可以
百萬以上數(shù)據(jù)時(shí)數(shù)據(jù)庫的檢索
當(dāng)數(shù)據(jù)庫中數(shù)據(jù)很少時(shí),基本不用考慮速度問題。
www.2cto.com
但是當(dāng)數(shù)據(jù)量到了百萬條的級(jí)別時(shí),速度就很成問題了。
本人初學(xué)者,有以下經(jīng)驗(yàn)。
方法一:
在要檢索的列上添加索引,例如用mysql時(shí)主鍵是自動(dòng)有索引的,非主鍵也可以加索引。
對(duì)于沒有在檢索列上設(shè)索引和在檢索列上設(shè)索引的速度,我的測(cè)試結(jié)果是當(dāng)數(shù)據(jù)庫用有500000的數(shù)據(jù)時(shí),檢索速度提高了100倍。
插入的速度不大受數(shù)據(jù)量的影響。
索引的具體原理還不是很清楚,但是有一點(diǎn)是知道的,就是建立索引以后避免了掃描整個(gè)數(shù)據(jù)庫進(jìn)行檢索。
可以想象加入了一些類似折半查找等方法。
方法二: www.2cto.com
對(duì)于本機(jī)操作,而且不是很頻繁的檢索時(shí),
把所有數(shù)據(jù)用select * from table 的方式放到變量里,也就是內(nèi)存里,速度也是很快的。
對(duì)于數(shù)據(jù)不是太長(zhǎng)的表,比如每行有30個(gè)字符,百萬條的全表讀取也就不到半分鐘,
到了內(nèi)存以后就可以很快速地處理了。
用帶有hash表功能的容器,檢索還是非常快的。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com