舉例說明百萬級或千萬級數(shù)據(jù)表 添加索引來優(yōu)化查詢效率 ?并 配合 LIMIT 最大化提高查詢效率暇藏,此方法僅限于返回的結(jié)果集龐大。本來?xiàng)l件下就最多返回幾條或幾十條 就沒必要用這個方式來提升效率了。
SELECT * ?FROM lqr_member WHERE username = ? ? and usertype= ? ?
?與
SELECT *? FROM lqr_member WHERE username = ?? and usertype= ?? LIMIT 1000
這兩句查詢語句其實(shí)結(jié)果是一樣的形导,username和usertype是一個組合索引婉烟,單殺效率遠(yuǎn)遠(yuǎn)不同,
當(dāng)數(shù)據(jù)在幾十萬的時候執(zhí)行查詢的時間基本相差幾毫秒
當(dāng)數(shù)據(jù)在百萬級或千萬級的時候就會發(fā)現(xiàn)SELECT *? FROM lqr_member WHERE username = ?? and usertype= ? 這條語句的效率特別慢设江,甚至?xí)缘裟闼械膬?nèi)存報錯锦茁。
但是第二條缺還能達(dá)到秒查的效率。
為什么呢叉存?
因?yàn)榈谝粭l是返回所有符合條件的數(shù)據(jù)码俩,如果數(shù)據(jù)量龐大返回結(jié)果集時候就會很慢
第二條不管返回結(jié)果集多少只返回前100條 明顯效率提升了,一般情況下你根據(jù)你的條件進(jìn)行預(yù)估歼捏,是否需要把所有的結(jié)果集都顯示出來稿存,如果不需要建議加個LIMIT條件篩選吧 會大大提升你這方面的體驗(yàn)笨篷。