欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析mysql索引

 更新時間:2017年10月12日 10:58:13   作者:動力節(jié)點  
數(shù)據(jù)庫索引是一種數(shù)據(jù)結構,目的是提高表的操作速度,下面通過本文給大家分享mysql索引的相關知識,感興趣的朋友一起看看吧

數(shù)據(jù)庫索引是一種數(shù)據(jù)結構,目的是提高表的操作速度??梢允褂靡粋€或多個列,提供快速隨機查找和訪問記錄的高效排序來創(chuàng)建索引。

要創(chuàng)建的索引,應當認為哪列將用于使SQL查詢,創(chuàng)建對這些列的一個或多個索引。

實際上,索引也是表,其中保存主鍵或索引字段的指針并指向每個記錄到實際的表的類型。

用戶無法看到索引,它們只是用來加速查詢,并將被用于數(shù)據(jù)庫搜索引擎在查找記錄時提高速度。

INSERT和UPDATE語句需要更多的時間來創(chuàng)建索引,作為在SELECT語句快速在這些表上操作。其原因是,在執(zhí)行插入或更新數(shù)據(jù)時,數(shù)據(jù)庫需要將插入或更新索引值也更新。

簡單和唯一索引

可以在表上創(chuàng)建唯一值索引。唯一索引意味著兩行不能有相同的索引值。下面是在表上創(chuàng)建索引的語法:

CREATE UNIQUE INDEX index_name
ON table_name ( column1, column2,...);

可以使用一個或多個列來創(chuàng)建索引。例如,我們可以使用tutorial_author 來創(chuàng)建一個 tutorials_tbl 索引。

CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author)

可以在表上創(chuàng)建一個簡單的索引。創(chuàng)建簡單的索引只是省略UNIQUE關鍵字。簡單的索引可以在表中重復的值。

如果想索引的列的值按降序排列,可以列名之后添加保留字DESC。

mysql> CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author DESC)

使用ALTER命令來添加和刪除索引

有四種類型的索引可以添加到一個表:

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list):  添加一個主鍵(PRIMARY KEY),這意味著索引值必須是唯一的,而不能為空。
  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list):  創(chuàng)建一個索引的量的值必須是唯一的(除了不能使用NULL值,其它的可以出現(xiàn)多次)。
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list):  增加普通的索引,其中的任何值的出現(xiàn)多次。
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list): 創(chuàng)建一個用于文本搜索目的一種特殊的FULLTEXT索引。

下面是一個添加索引到現(xiàn)有表的例子。

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

可以通過使用 ALTER 命令以及DROP子句來刪除索引。試試下面的例子,用來刪除上面創(chuàng)建的索引。

mysql> ALTER TABLE testalter_tbl DROP INDEX (c);

使用ALTER命令來添加和刪除PRIMARY KEY

也可以用同樣的方法添加主鍵。但要在列確保主鍵正常使用,需要指定使用 NOT NULL。

下面是一個例子添加主鍵在現(xiàn)有的表。列需要添加 NOT NULL 屬性,然后再添加為一個主鍵。

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

可以使用ALTER命令刪除主鍵如下:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

要刪除索引的不是主鍵,必須指定索引名。

顯示索引信息

可以使用SHOW INDEX命令,列出所有與表相關的索引。 垂直格式輸出(由\G指定),這是經常有用的語句,以避免長線概括輸出:

試試下面的例子:

mysql> SHOW INDEX FROM table_name\G
........

總結

以上所述是小編給大家介紹的mysql索引,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • Mysql賬戶管理原理與實現(xiàn)方法詳解

    Mysql賬戶管理原理與實現(xiàn)方法詳解

    這篇文章主要介紹了Mysql賬戶管理原理與實現(xiàn)方法,結合實例形式詳細分析了mysql賬戶管理的原理、操作技巧、相關問題解決方法與注意事項,需要的朋友可以參考下
    2020-01-01
  • mysql數(shù)據(jù)庫是做什么的

    mysql數(shù)據(jù)庫是做什么的

    在本篇文章里小編給大家整理的是一篇關于mysql數(shù)據(jù)庫是做什么的先關知識點內容,有興趣的朋友們可以學習下。
    2020-06-06
  • Centos6.5編譯安裝mysql 5.7.14詳細教程

    Centos6.5編譯安裝mysql 5.7.14詳細教程

    這篇文章主要為大家分享了Centos6.5編譯安裝mysql 5.7.14 詳細教程,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 詳解mysql觸發(fā)器trigger實例

    詳解mysql觸發(fā)器trigger實例

    這篇文章主要為大家介紹了mysql觸發(fā)器trigger實例?,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • MySQL多版本并發(fā)控制MVCC深入學習

    MySQL多版本并發(fā)控制MVCC深入學習

    這篇文章主要介紹了MySQL多版本并發(fā)控制MVCC,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11
  • mysql通過group?by分組取最大時間對應數(shù)據(jù)的兩種有效方法

    mysql通過group?by分組取最大時間對應數(shù)據(jù)的兩種有效方法

    日常開發(fā)當中,經常會遇到查詢分組數(shù)據(jù)中指定的記錄,下面這篇文章主要給大家介紹了關于mysql通過group?by分組取最大時間對應數(shù)據(jù)的兩種有效方法,文章通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • MySql如何實現(xiàn)遠程登錄MySql數(shù)據(jù)庫過程解析

    MySql如何實現(xiàn)遠程登錄MySql數(shù)據(jù)庫過程解析

    這篇文章主要介紹了MySql如何實現(xiàn)遠程登錄MySql數(shù)據(jù)庫過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • mysql 索引的基礎操作匯總(四)

    mysql 索引的基礎操作匯總(四)

    這篇文章主要為大家詳細介紹了mysql 索引的基礎操作匯總,涵蓋了創(chuàng)建和查看索引、刪除索引等操作,感興趣的小伙伴們可以參考一下
    2016-08-08
  • mysql之動態(tài)增添字段實現(xiàn)方式

    mysql之動態(tài)增添字段實現(xiàn)方式

    這篇文章主要介紹了mysql之動態(tài)增添字段實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • mysql觸發(fā)器中包含select語句問題

    mysql觸發(fā)器中包含select語句問題

    這篇文章主要介紹了mysql觸發(fā)器中包含select語句問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論