MySQL 索引

      網友投稿 590 2025-03-31

      Mysql 索引

      Mysql索引的建立對于MySQL的高效運行是很重要的,索引可以大大提高MySQL的檢索速度。打個比方,如果合理的設計且使用索引的MySQL是一輛蘭博基尼的話,那么沒有設計和使用索引的MySQL就是一個人力三輪車。拿漢語字典的目錄頁(索引)打比方,我們可以按拼音、筆畫、偏旁部首等排序的目錄(索引)快速查找到需要的字。

      索引分單列索引和組合索引。單列索引,即一個索引只包含單個列,一個表可以有多個單列索引,但這不是組合索引。組合索引,即一個索引包含多個列。

      創建索引時,你需要確保該索引是應用在 SQL 查詢語句的條件(一般作為 WHERE 子句的條件)。

      建立索引會占用磁盤空間的索引文件。

      普通索引

      創建索引

      這是最基本的索引,它沒有任何限制。它有以下幾種創建方式:

      CREATE INDEX indexName ON table_name (column_name)

      如果是CHAR,VARCHAR類型,length可以小于字段實際長度;如果是BLOB和TEXT類型,必須指定 length。

      修改表結構(添加索引)

      ALTER table tableName ADD INDEX indexName(columnName)

      創建表的時候直接指定

      CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) );

      刪除索引的語法

      DROP INDEX [indexName] ON mytable;

      唯一索引

      它與前面的普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。它有以下幾種創建方式:

      創建索引

      CREATE UNIQUE INDEX indexName ON mytable(username(length))

      修改表結構

      MySQL 索引

      ALTER table mytable ADD UNIQUE [indexName] (username(length))

      創建表的時候直接指定

      CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );

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

      有四種方式來添加數據表的索引:

      ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): 該語句添加一個主鍵,這意味著索引值必須是唯一的,且不能為NULL。

      ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): 這條語句創建索引的值必須是唯一的(除了NULL外,NULL可能會出現多次)。

      ALTER TABLE tbl_name ADD INDEX index_name (column_list): 添加普通索引,索引值可出現多次。

      ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list): 該語句指定了索引為 FULLTEXT ,用于全文索引。

      以下實例為在表中添加索引。

      mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

      你還可以在 ALTER 命令中使用 DROP 子句來刪除索引。嘗試以下實例刪除索引:

      mysql> ALTER TABLE testalter_tbl DROP INDEX c;

      使用 ALTER 命令添加和刪除主鍵

      主鍵作用于列上(可以一個列或多個列聯合主鍵),添加主鍵索引時,你需要確保該主鍵默認不為空(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;

      MySQL

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:文檔第一頁頁眉怎么去掉
      下一篇:如何將Excel文檔保存到云盤?
      相關文章
      亚洲国产综合自在线另类| 亚洲精品美女久久久久| 亚洲欧美国产国产综合一区 | 亚洲日韩在线观看| 国产精品亚洲专区在线播放 | 99亚洲男女激情在线观看| 亚洲精品永久在线观看| 亚洲一区二区三区丝袜| 亚洲欧洲AV无码专区| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲免费电影网站| 亚洲国产精品成人综合色在线婷婷 | jlzzjlzz亚洲乱熟在线播放| 亚洲视频在线一区二区| 亚洲不卡AV影片在线播放| 国产L精品国产亚洲区久久| 亚洲一区视频在线播放| 亚洲色欲色欲www在线丝| 国产亚洲精AA在线观看SEE| 久久夜色精品国产亚洲AV动态图| 亚洲国产精品一区二区成人片国内| 亚洲va中文字幕无码久久不卡| 亚洲AV无码精品色午夜果冻不卡| 久久久久亚洲精品成人网小说| 亚洲国产精品线在线观看| 亚洲精品视频免费看| 久久精品国产亚洲av麻豆蜜芽 | 亚洲日韩小电影在线观看| 九月丁香婷婷亚洲综合色| 亚洲成人精品久久| 亚洲白色白色永久观看| 久久久久亚洲国产| 国产精品亚洲专区无码WEB| 亚洲精品线路一在线观看 | 精品国产成人亚洲午夜福利| 亚洲国产综合AV在线观看| 一级毛片直播亚洲| 在线a亚洲v天堂网2019无码| 精品久久久久久亚洲| 亚洲精品在线免费观看| 中文字幕精品三区无码亚洲 |