create index 索引名 on 表名(列名) --建立非聚簇索引
create clustered index 索引名 on 表名(列名) --建立聚簇索引
create unique clustered index 索引名 on 表名(列名) --建立唯一聚簇索引(通常使用)
drop index 表名.索引名 --刪除索引
建立索引的目的是為了更快的進行查詢或排序。提公升系統的效能。為表設定索引會增加資料庫的儲存空間,而且插入和修改資料時要花費更多的時間(因為索引也要隨之變動)。因此對乙個經常改動的表,不要對它建立太多索引。
索引有兩種型別:聚簇索引和非聚簇索引。聚簇索引記錄的索引順序與物理順序相同。非聚簇索引中記錄的物理順序與邏輯順序沒有必然的聯絡。乙個表只能有乙個聚簇索引,乙個表可以有不止乙個非聚簇索引。
本人現在還沒用到過索引,因為剛開始學sql,接觸的資料量也不大,所以不會用到索引。所以上面寫的也很淺顯、簡單。
SQL索引學習 聚集索引
上面兩位朋友的問題有乙個共同特點,就是希望有示例,因為這樣容易讓他們更加容易理解。但從我的角度來講,有示例只能給你提供乙個參考而已,夠不成是否容易消化的關鍵因素,最好的辦法是,通過自己的理解,自己有能力去做相應的實驗,這樣效果才是最好的,你也會發現更多的問題,每個專案都有自己的特點,所以效能優化這塊...
SQL索引學習筆記
聚集索引 優秀的索引 索引 index 是幫助mysql高效獲取資料的資料結構。在rdbms中,索引儲存在硬碟中。ahi adaptive hash index 自適應雜湊索引 對欄位計算hash值,將hash值和行指標對應存在hash表中。為什麼innodb引擎不支援手動使用hash索引 存在記憶...
SQL學習之索引記錄
首先還是老規矩,把用到的表貼出來,表名emp 在where子句中不能直接使用別名,這是因為where的執行順序在select之前,也就是說,在通過where子句對資料進行篩選的時候,別名並不存在。在示例表中 sal 字段表示工資,如果員工的工資少於2000,則返回no,如果超過4000,則返回yes...