1、評(píng)估索引本身的占用空間,當(dāng)索引相對(duì)于其數(shù)據(jù)本身過大可能會(huì)無明顯作用。這種情況體現(xiàn)在:表很小,索引列過多,索引碎片過多。當(dāng)索引在select中不起作用時(shí),你還必須在insert和update、delete這些操作中去維護(hù)這些不起作用的數(shù)據(jù)。
2、In語(yǔ)句不一定不能使用索引,where id in(1,2)和where id =1 or id=2是等效的,這里的in和not in的性能是相同的。而不能使用索引的原因是嵌套查詢: where id in(select 1 union select 2).
3、解除嵌套查詢無法利用索引的辦法是用exists子查詢,select * from tb1 a where exists(select 1 from tb2 where id=a.id)。而exists和not exists的性能和tb1的數(shù)據(jù)量無關(guān),他們的性能差別在于tb2中的數(shù)據(jù)量。
4、Like子句可以利用索引,所以盡可能少用left,right和substring函數(shù)。
5、函數(shù)不能使用索引,比如convert(varchar(7),date,120)='2008-06',或者datediff函數(shù)、甚至和常量的加減乘除運(yùn)算等,正確的做法是用比較符號(hào)或者盡可能把datediff之類的函數(shù)放到等號(hào)右邊。
6、不用擔(dān)心隱式轉(zhuǎn)換,它總是轉(zhuǎn)換等號(hào)右邊的。比如 where id='2' 和where id=2是等效的。
7、聚集索引的查詢性能好于非聚集索引,但是維護(hù)代價(jià)很大,對(duì)于他的數(shù)據(jù)改變會(huì)引起整行數(shù)據(jù)的物理位置移動(dòng)。同時(shí)聚集索引還要為非聚集索引提供索引服務(wù),所以盡量不用過大的列或過多的列作聚集索引。
8、聚集索引可以極大優(yōu)化大于,小于,group by和order by以及join語(yǔ)句的查詢性能。
9、一張表只能由一個(gè)聚集索引。
10、唯一索引有助于查詢優(yōu)化。
11、聯(lián)合索引的第一列可以單獨(dú)使用,其他的索引列在單獨(dú)的where子句中不起作用。
12、索引的升序降序?qū)rder by子句的影響很大。
13、符合特定條件的計(jì)算列也可以創(chuàng)建索引。
2、In語(yǔ)句不一定不能使用索引,where id in(1,2)和where id =1 or id=2是等效的,這里的in和not in的性能是相同的。而不能使用索引的原因是嵌套查詢: where id in(select 1 union select 2).
3、解除嵌套查詢無法利用索引的辦法是用exists子查詢,select * from tb1 a where exists(select 1 from tb2 where id=a.id)。而exists和not exists的性能和tb1的數(shù)據(jù)量無關(guān),他們的性能差別在于tb2中的數(shù)據(jù)量。
4、Like子句可以利用索引,所以盡可能少用left,right和substring函數(shù)。
5、函數(shù)不能使用索引,比如convert(varchar(7),date,120)='2008-06',或者datediff函數(shù)、甚至和常量的加減乘除運(yùn)算等,正確的做法是用比較符號(hào)或者盡可能把datediff之類的函數(shù)放到等號(hào)右邊。
6、不用擔(dān)心隱式轉(zhuǎn)換,它總是轉(zhuǎn)換等號(hào)右邊的。比如 where id='2' 和where id=2是等效的。
7、聚集索引的查詢性能好于非聚集索引,但是維護(hù)代價(jià)很大,對(duì)于他的數(shù)據(jù)改變會(huì)引起整行數(shù)據(jù)的物理位置移動(dòng)。同時(shí)聚集索引還要為非聚集索引提供索引服務(wù),所以盡量不用過大的列或過多的列作聚集索引。
8、聚集索引可以極大優(yōu)化大于,小于,group by和order by以及join語(yǔ)句的查詢性能。
9、一張表只能由一個(gè)聚集索引。
10、唯一索引有助于查詢優(yōu)化。
11、聯(lián)合索引的第一列可以單獨(dú)使用,其他的索引列在單獨(dú)的where子句中不起作用。
12、索引的升序降序?qū)rder by子句的影響很大。
13、符合特定條件的計(jì)算列也可以創(chuàng)建索引。