聚集索引與非聚集索引,其實已經有很多的文章做過詳細介紹。
非聚集索引
簡單來說,聚集索引是適合字段變動不大(盡可能不出現Update的字段)、出現字段重復率小的列,因為聚集索引是對數據物理位置相同的索引,所以一張表中只能出現一個聚集索引。
聚集索引的特征:代表全部數據存儲的位置索引,不能經常去更新這個字段,最好不出現重復。
聚集索引
非聚集索引也有很多人叫法上細分為唯一索引、全文索引、普通索引,我們在進項條件查詢時,作為條件過濾的字段通常被設置為非聚集索引,這樣就不需要去讀取原始記錄,直接查詢索引將大大的節省時間。
非聚集索引的特征:不影響數據存儲的物理順序,對字段的修改、刪除、新增來說影響不大,這樣我們就可以把常錯做的字段並且有需要快速查詢的字段定位非聚集索引
不正確建聚集索引的影響:可能會導致每次插入數據都要重新編排索引位置,導致數據的寫入極慢。
創建聚集索引
Use log CREATE CLUSTERED INDEX 索引名 on 表名(字段名)--創建聚集索引
創建非聚集索引
Use log--使用的庫 CREATE NONCLUSTERED INDEX 索引名稱 --創建非聚集索引名稱 ON 表名(字段名) --為LogSearch表的Keywords字段創建索引 WITH FILLFACTOR = 30 --填充因子為30% GO
最后這個填充因子主要是在一些字段中我們可以根據讀寫比例來靈活調整,以便更大的發揮出索引的特性。
填充因子可以參考:
低更改的表(讀寫比率為100:1):100%的填充因子
高更改的表(寫超過讀):50-70%的填充因子
讀寫各一半的:80-90%的填充因子