簡單學習數據庫索引

Oracle數據表的記錄較多的時候,爲了提升查詢的效率,咱們經常會爲數據表創建索引,這樣在查詢的時候就可以大大提升查詢的速度了。建立了索引了以後,在表的增長、刪除、修改操做效率則會降低mysql

    一、查看一張表當中已有的索引     sql

        select index_name from all_indexes where table_name = ‘表名’; spa

            注意:ORACLE不區分大小寫,可是這裏的表名必需要大寫、對象

     二、建立一個索引索引

       create index 索引名稱 on 表名(表中要建立索引的某一個字段)ci

    三、建立多個列的索引table

         create index 索引名稱 on 表名(列1,列2····)效率

    四、mysql添加索引        select

            1.添加PRIMARY KEY(主鍵索引)數據

            mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

            2.添加UNIQUE(惟一索引)

            mysql>ALTER TABLE `table_name` ADD UNIQUE (`column`)

            3.添加INDEX(普通索引)

            mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

            4.添加FULLTEXT(全文索引)

            mysql>ALTER TABLE `table_name` ADD FULLTEXT (`column`)

            5.添加多列索引

       mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

惟一索引和通常索引的區別

一、只有當你的要建立索引的列中的內容的值沒有重複時(空值除外),才能對其建立惟一索引,不然,就建立不了惟一索引。一般來講,對於相同環境下(相同的對象,相同的操做,相同的檢索條件等),惟一索引都會更好一些,其COST值也要更低一些(索引全掃描除外)。

二、惟一約束的實現是依賴於惟一索引的(主鍵約束也是依賴惟一索引的)。當你建立一個維一約束時,ORACLE會自動建立(或使用已有的)相應的惟一索引。

三、約束是爲了保證數據的完整性和業務邏輯的正確性,而索引是爲了提升檢索的效率。二者的做用和目的不一樣,但又相互聯繫

惟一索引eg:身份證號

相關文章
相關標籤/搜索