卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

SQL數(shù)據(jù)庫如何優(yōu)化?

網(wǎng)友解答: 面試的時候經(jīng)常會文檔一些SQL方面的問題,比較常見的面試題例如“什么時候回造成索引失效?”,又或者“你經(jīng)常做的SQL優(yōu)化的工作有哪些?”下面,我就介紹幾個有關(guān)SQL優(yōu)化的知識

網(wǎng)友解答:

面試的時候經(jīng)常會文檔一些SQL方面的問題,比較常見的面試題例如“什么時候回造成索引失效?”,又或者“你經(jīng)常做的SQL優(yōu)化的工作有哪些?”

下面,我就介紹幾個有關(guān)SQL優(yōu)化的知識點。

負(fù)向條件查詢不能使用索引:包括!=、not in、not exists都盡量不要使用;

%在前面的模糊查詢:where name like '%xxx';

等號左邊有函數(shù):where upper(str) = '...',就算str字段有索引,這個寫法也不會走索引;

數(shù)據(jù)區(qū)分度不大的字段,不要建索引:例如性別男、女、為止,這種就不適合建立索引;

隱式轉(zhuǎn)換:where tel = 13800000000,如果tel字段是varchar類型,這個寫法不會報錯,但是會索引失效;

只返回需要的數(shù)據(jù):select name,gender from users 優(yōu)于 select * from users;

允許為Null的列,有風(fēng)險:比如 where name != 'Tom',如果name允許為Null,索引不儲存Null值,結(jié)果集不包含這些記錄;因為索引不存儲Null值,所以is null也不會走索引;

如果業(yè)務(wù)大部分是單條記錄查詢,那么Hash索引效率更高

復(fù)合索引最左前綴:(name,gender)復(fù)合索引,where name=xx and gender =x 可以命中,where name=xx可以命中,where gender =x不能命中。

標(biāo)簽: