国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL查看、創建和刪除索引的方法

2024-07-24 13:08:02
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了MySQL查看、創建和刪除索引的方法,結合實例形式較為詳細的分析了MySQL中索引的作用,以及查看、創建及刪除索引的相關實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下
 

本文實例講述了MySQL查看、創建和刪除索引的方法。分享給大家供大家參考。具體如下:

1.索引作用

在索引列上,除了上面提到的有序查找之外,數據庫利用各種各樣的快速定位技術,能夠大大提高查詢效率。特別是當數據量非常大,查詢涉及多個表時,使用索引往往能使查詢速度加快成千上萬倍。

例如,有3個未索引的表t1、t2、t3,分別只包含列c1、c2、c3,每個表分別含有1000行數據組成,指為1~1000的數值,查找對應值相等行的查詢如下所示。

SELECT c1,c2,c3 FROM t1,t2,t3 WHERE c1=c2 AND c1=c3
此查詢結果應該為1000行,每行包含3個相等的值。在無索引的情況下處理此查詢,必須尋找3個表所有的組合,以便得出與WHERE子句相配的那些行。而可能的組合數目為1000×1000×1000(十億),顯然查詢將會非常慢。

如果對每個表進行索引,就能極大地加速查詢進程。利用索引的查詢處理如下。

(1)從表t1中選擇第一行,查看此行所包含的數據。
(2)使用表t2上的索引,直接定位t2中與t1的值匹配的行。類似,利用表t3上的索引,直接定位t3中與來自t1的值匹配的行。
(3)掃描表t1的下一行并重復前面的過程,直到遍歷t1中所有的行。

在此情形下,仍然對表t1執行了一個完全掃描,但能夠在表t2和t3上進行索引查找直接取出這些表中的行,比未用索引時要快一百萬倍。
利用索引,MySQL加速了WHERE子句滿足條件行的搜索,而在多表連接查詢時,在執行連接時加快了與其他表中的行匹配的速度。

2.  創建索引

在執行CREATE TABLE語句時可以創建索引,也可以單獨用CREATE INDEX或ALTER TABLE來為表增加索引。

1.ALTER TABLE

ALTER TABLE用來創建普通索引、UNIQUE索引或PRIMARY KEY索引。
 

  1. ALTER TABLE table_name ADD INDEX index_name (column_list) 
  2. ALTER TABLE table_name ADD UNIQUE (column_list) 
  3. ALTER TABLE table_name ADD PRIMARY KEY (column_list) 
?
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 卓尼县| 黔西县| 若尔盖县| 秦安县| 尉氏县| 安仁县| 密云县| 云安县| 通渭县| 瓦房店市| 大关县| 都安| 永泰县| 县级市| 团风县| 元谋县| 隆子县| 吴旗县| 南岸区| 广平县| 永川市| 庄浪县| 英山县| 南涧| 浮梁县| 永川市| 图木舒克市| 河源市| 高尔夫| 五台县| 金溪县| 天全县| 湘乡市| 介休市| 奉贤区| 山西省| 隆安县| 嘉义市| 呼图壁县| 达孜县| 鲁甸县|