4 回答

TA貢獻1794條經驗 獲得超8個贊
索引是以表列為基礎的數據庫對象,索引中保存著表中排序的索引列,并且紀錄了索引列在數據庫表中的物理存儲位置,實現了表中數據的邏輯排序。
通過索引,可以加快數據的查詢速度和減少系統的響應時間;
可以使表和表之間的連接速度加快。
用SQL建立索引:
為了給一個表建立索引,啟動任務欄SQL Sever程序組中的ISQL/w程序。進入查詢窗口后,輸入下面的語句:
CREATE [UNIQUE] [CLUSER] INDEX <索引名> ON <表名> (<列名>);
UNIQUE 表明此索引的每一個索引值只對應唯一的數據記錄
CLUSTER 表明要建立的是聚簇索引(指索引項的順序與表中記錄的物理順序一致)
例:CREATE CLUSER INDEX Stuname ON Student(Sname);
在student表的sname列建立一個聚簇索引,student中記錄按照sname值的升序排列.

TA貢獻2019條經驗 獲得超9個贊

TA貢獻1831條經驗 獲得超10個贊
如果你查詢的字段都在索引中,那么可以只查詢索引,不用查詢表,就可以輸出數據。
這是建索引時的一種考慮。
但是在你這種情況下不適用。
我猜你是想輸出大批數據,而不是根據索引選擇有數的那么幾條。
輸出數據占總數據量達到一定比例以后,再用索引就是浪費更多資源而得不到回報了。
因為數據行存儲在塊中。一塊存多行。用索引時是根據索引信息,每一行訪問一次數據塊。
數據多了會覆蓋大多數數據塊,并且一個數據塊會被訪問多次。就不如全表掃描一次,訪問一個數據塊就把該塊所有行都輸出。這樣效率最高。
所以你這種情況不應該用索引的。
添加回答
舉報