當前位置:首頁 » 編程語言 » sql聚合索引

sql聚合索引

發布時間: 2025-10-01 15:02:46

Ⅰ SQL 中的聚集索引和非聚集索引 分別指的是什麼

聚集索引:其中行的物理排序與索引排序相同,並且聚集索引的最低一級(葉級)包含實際的數據行。一個表或視圖只允許同時有一個聚集索引。 在創建任何非聚集索引之前創建聚集索引。創建聚集索引時重建表上現有的非聚集索引。 如果沒有指定 CLUSTERED,則創建非聚集索引。 1、聚集索引和非聚集索引的根本區別是表記錄的排列順序和與索引的排列順序是否一致,聚集索引表記錄的排列順序與索引的排列順序一致,優點是查詢速度快,因為一旦具有第一個索引值的紀錄被找到,具有連續索引值的記錄也一定物理的緊跟其後。聚集索引的缺點是對表進行修改速度較慢,這是為了保持表中的記錄的物理順序與索引的順序一致,而把記錄插入到數據頁的相應位置,必須在數據頁中進行數據重排,降低了執行速度。建議使用聚集索引的場合為: a.此列包含有限數目的不同值; b.查詢的結果返回一個區間的值; c.查詢的結果返回某值相同的大量結果集。 非聚集索引指定了表中記錄的邏輯順序,但記錄的物理順序和索引的順序不一致,聚集索引和非聚集索引都採用了B+樹的結構,但非聚集索引的葉子層並不與實際的數據頁相重疊,而採用葉子層包含一個指向表中的記錄在數據頁中的指針的方式。非聚集索引比聚集索引層次多,添加記錄不會引起數據順序的重組。建議使用非聚集索引的場合為: a.此列包含了大量數目不同的值; b.查詢的結束返回的是少量的結果集; c.order by 子句中使用了該列。 2、聚集索引:其中行的物理排序與索引排序相同,並且聚集索引的最低一級(葉級)包含實際的數據行。一個表或視圖只允許同時有一個聚集索引。 在創建任何非聚集索引之前創建聚集索引。創建聚集索引時重建表上現有的非聚集索引。 如果沒有指定 CLUSTERED,則創建非聚集索引。 3、--不用索引查詢 SELECT * FROM IndexTestTable WHIT(INDEX(0)) WHERE Status= 'B ' --創建聚集索引

熱點內容
writec語言 發布:2025-10-01 16:28:42 瀏覽:149
串口通信編譯錯誤 發布:2025-10-01 16:28:41 瀏覽:569
虛擬機如何交叉編譯 發布:2025-10-01 16:28:40 瀏覽:358
多台電腦登錄一台伺服器 發布:2025-10-01 16:21:23 瀏覽:778
ware伺服器搭建 發布:2025-10-01 16:14:01 瀏覽:208
crc32php 發布:2025-10-01 15:59:07 瀏覽:733
hibernatesql查詢 發布:2025-10-01 15:55:35 瀏覽:743
手指鎖屏密碼如何找回 發布:2025-10-01 15:51:10 瀏覽:579
高周元訪問 發布:2025-10-01 15:48:35 瀏覽:67
android優化大師 發布:2025-10-01 15:40:11 瀏覽:361