索引 (Index) 可以幫助我們從表格中快速地找到需要的資料。舉例來說,假設(shè)我們要在一本園藝書中找如何種植青椒的訊息。若這本書沒有索引的話,那我們是必須要從頭開始讀,直到我們找到有關(guān)種直青椒的地方為止。若這本書有索引的話,我們就可以先去索引找出種植青椒的資訊是在哪一頁,然后直接到那一頁去閱讀。很明顯地,運(yùn)用索引是一種有效且省時的方式。
從資料庫表格中尋找資料也是同樣的原理。如果一個表格沒有索引的話,資料庫系統(tǒng)就需要將整個表格的資料讀出 (這個過程叫做’table scan’)。若有適當(dāng)?shù)乃饕嬖?,資料庫系統(tǒng)就可以先由這個索引去找出需要的資料是在表格的什么地方,然后直接去那些地方抓資料。這樣子速度就快多了。
因此,在表格上建立索引是一件有利于系統(tǒng)效率的事。一個索引可以涵蓋一或多個欄位。建立索引的語法如下:
CREATE INDEX "INDEX_NAME" ON "TABLE_NAME" (COLUMN_NAME)
現(xiàn)在假設(shè)我們有以下這個表格,
TABLE Customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
若我們要在 Last_Name 這個欄位上建一個索引,我們就打入以下的指令,
CREATE INDEX IDX_CUSTOMER_LAST_NAME on CUSTOMER (Last_Name)
若我們要在 Last_Name 這個欄位上建一個索引,我們就打入以下的指令,
CREATE INDEX IDX_CUSTOMER_LOCATION
on CUSTOMER (City, Country)
索引的命名并沒有一個固定的方式。通常會用的方式是在名稱前加一個字首,例如 "IDX_" ,來避免與資料庫中的其他物件混淆。另外,在索引名之內(nèi)包括表格名及欄位名也是一個好的方式。
請讀者注意,每個資料庫會有它本身的 CREATE INDEX 語法,而不同資料庫的語法會有不同。因此,在下指令前,請先由資料庫使用手冊中確認(rèn)正確的語法。
從資料庫表格中尋找資料也是同樣的原理。如果一個表格沒有索引的話,資料庫系統(tǒng)就需要將整個表格的資料讀出 (這個過程叫做’table scan’)。若有適當(dāng)?shù)乃饕嬖?,資料庫系統(tǒng)就可以先由這個索引去找出需要的資料是在表格的什么地方,然后直接去那些地方抓資料。這樣子速度就快多了。
因此,在表格上建立索引是一件有利于系統(tǒng)效率的事。一個索引可以涵蓋一或多個欄位。建立索引的語法如下:
CREATE INDEX "INDEX_NAME" ON "TABLE_NAME" (COLUMN_NAME)
現(xiàn)在假設(shè)我們有以下這個表格,
TABLE Customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
若我們要在 Last_Name 這個欄位上建一個索引,我們就打入以下的指令,
CREATE INDEX IDX_CUSTOMER_LAST_NAME on CUSTOMER (Last_Name)
若我們要在 Last_Name 這個欄位上建一個索引,我們就打入以下的指令,
CREATE INDEX IDX_CUSTOMER_LOCATION
on CUSTOMER (City, Country)
索引的命名并沒有一個固定的方式。通常會用的方式是在名稱前加一個字首,例如 "IDX_" ,來避免與資料庫中的其他物件混淆。另外,在索引名之內(nèi)包括表格名及欄位名也是一個好的方式。
請讀者注意,每個資料庫會有它本身的 CREATE INDEX 語法,而不同資料庫的語法會有不同。因此,在下指令前,請先由資料庫使用手冊中確認(rèn)正確的語法。