資料庫SQL索引

2021-08-11 08:07:25 字數 930 閱讀 1536

表中建立索引,以便更加快速高效地查詢資料。

使用者無法看到索引,它們只能被用來加速搜尋/查詢。

(1)建立索引

1、在表上建立乙個簡單的索引。允許使用重複的值。索引不止乙個列,可以在括號中列出這些列的名稱,用逗號隔開。

create index index_name on table_name (column_name1,..,column_namen)

2、在表上建立乙個唯一的索引。不允許使用重複的值。唯一的索引意味著兩個行不能擁有相同的索引值。

create unique index index_name on table_name (column_name1,..,column_namen)

3、在建立表時建立索引

create table  table_name (

index  index_name (column_name[(length)])

4、修改表時建立索引

alter table table_name add unique index_name (column_list);

(2)刪除索引

drop index [index_name] on table_name;

(3)檢視索引

show index from table_name;

近期筆試兩次遇到了回答索引不使用的情況

(1)建立組合索引,但查詢謂詞並未使用組合索引的第一列,此處有乙個index skip scan概念

(2)索引列可能包含空值

(3)索引列上有函式操作或者運算操作,導致不走索引

(4)索引不適用於隱式轉換的情況

(5)負向條件查詢

!=或者<>(不等於),  not in , not exist,可能導致不走索引,也可能走 index fast full scan

(6)like '%liu' 百分號在前

SQL資料庫索引

索引的用途 通過索引來加快資料處理速度。對資料查詢及處理速度已經成為衡量應用系統的標準。索引的優點 加快訪問速度,加強行的唯一性。索引型別 1.唯一索引 唯一索引不允許兩行具有相同的索引值。2.主鍵索引 為表定義乙個主鍵將自動建立主鍵索引,主鍵索引是唯一索引的特殊型別。主鍵索引要求主鍵中每乙個值是唯...

SQL資料庫 索引

一直對建立索引有什麼用?怎麼用?不太清楚。建立索引後會單獨存放,先去索引中查詢再到表中查詢索引中指定的位置。據說使用的是b 樹,有時間在慢慢了解。為什麼要建立索引呢?這是因為,建立索引可以大大提高系統的效能。第一,通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。第二,可以大大加快 資料的檢...

資料庫 SQL索引基礎

sql索引目錄 要想做好索引優化,知道索引的儲存結構是至關重要的。談到儲存就需要了解sql中的頁和區的概念 乙個區包含8個頁,它是管理空間的單位,分為如下兩類 一般情況下,給表或者索引申請新的空間時,從混合區分配,當這個表或者索引的空間超過8個頁大小時,會將原本在混合區的頁轉移到統一區管理。知識了區...