亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺析mysql索引

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

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

要?jiǎng)?chuàng)建的索引,應(yīng)當(dāng)認(rèn)為哪列將用于使SQL查詢,創(chuàng)建對(duì)這些列的一個(gè)或多個(gè)索引。

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

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

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

簡(jiǎn)單和唯一索引

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

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

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

CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author)

可以在表上創(chuàng)建一個(gè)簡(jiǎn)單的索引。創(chuàng)建簡(jiǎn)單的索引只是省略UNIQUE關(guān)鍵字。簡(jiǎn)單的索引可以在表中重復(fù)的值。

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

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

使用ALTER命令來(lái)添加和刪除索引

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

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list):  添加一個(gè)主鍵(PRIMARY KEY),這意味著索引值必須是唯一的,而不能為空。
  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list):  創(chuàng)建一個(gè)索引的量的值必須是唯一的(除了不能使用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)建一個(gè)用于文本搜索目的一種特殊的FULLTEXT索引。

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

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

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

mysql> ALTER TABLE testalter_tbl DROP INDEX (c);

使用ALTER命令來(lái)添加和刪除PRIMARY KEY

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

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

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;

要?jiǎng)h除索引的不是主鍵,必須指定索引名。

顯示索引信息

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

試試下面的例子:

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

總結(jié)

以上所述是小編給大家介紹的mysql索引,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論