當前位置:首頁 » 編程語言 » 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 ' --創建聚集索引

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:710
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:972
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:681
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:833
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:741
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1081
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:312
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:192
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:879
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:837