自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL索引的用處

數(shù)據(jù)庫 MySQL
MySQL索引在MySQL數(shù)據(jù)庫中,可以有效提高查詢的效率,尤其是查詢數(shù)據(jù)量非常大時(shí),效果更為明顯,往往能使查詢速度加快成千上萬倍。

MySQL索引是很重要的概念,應(yīng)用的范圍非常廣。那么,MySQL索引究竟有何作用呢?下文將帶您一起尋找答案。

MySQL索引作用
在索引列上,除了上面提到的有序查找之外,數(shù)據(jù)庫利用各種各樣的快速定位技術(shù),能夠大大提高查詢效率。特別是當(dāng)數(shù)據(jù)量非常大,查詢涉及多個(gè)表時(shí),使用索引往往能使查詢速度加快成千上萬倍。
例如,有3個(gè)未索引的表t1、t2、t3,分別只包含列c1、c2、c3,每個(gè)表分別含有1000行數(shù)據(jù)組成,指為1~1000的數(shù)值,查找對應(yīng)值相等行的查詢?nèi)缦滤尽?/p>

SELECT c1,c2,c3 FROM t1,t2,t3 WHERE c1=c2 AND c1=c3
此查詢結(jié)果應(yīng)該為1000行,每行包含3個(gè)相等的值。在無索引的情況下處理此查詢,必須尋找3個(gè)表所有的組合,以便得出與WHERE子句相配的那些行。而可能的組合數(shù)目為1000×1000×1000(十億),顯然查詢將會非常慢。
如果對每個(gè)表進(jìn)行索引,就能極大地加速查詢進(jìn)程。利用索引的查詢處理如下。

(1)從表t1中選擇***行,查看此行所包含的數(shù)據(jù)。

(2)使用表t2上的索引,直接定位t2中與t1的值匹配的行。類似,利用表t3上的索引,直接定位t3中與來自t1的值匹配的行。

(3)掃描表t1的下一行并重復(fù)前面的過程,直到遍歷t1中所有的行。
在此情形下,仍然對表t1執(zhí)行了一個(gè)完全掃描,但能夠在表t2和t3上進(jìn)行索引查找直接取出這些表中的行,比未用索引時(shí)要快一百萬倍。
利用MySQL索引,MySQL加速了WHERE子句滿足條件行的搜索,而在多表連接查詢時(shí),在執(zhí)行連接時(shí)加快了與其他表中的行匹配的速度。
 

 

 

 

【編輯推薦】

mysql索引的不足

MySql連接字符串的說明

mysql觸發(fā)器的三個(gè)狀態(tài)

mysql建主從服務(wù)器的實(shí)現(xiàn)方法

獲取當(dāng)前時(shí)間的MySql時(shí)間函數(shù)

 

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-01 09:58:00

C++

2017-09-04 16:03:46

MySQLMySQL索引索引

2010-10-12 13:37:54

mysql索引

2010-10-12 13:42:11

MySQL單列索引

2015-06-15 14:58:16

MySQL索引

2020-09-28 15:34:38

ElasticSear索引MySQL

2015-10-30 15:55:43

MySQL

2021-05-09 09:57:26

MySQL數(shù)據(jù)庫索引

2017-08-02 14:02:42

MysqlMysql優(yōu)化Mysql索引

2010-11-24 14:31:16

mysql表索引

2019-11-14 16:23:07

MySQL索引數(shù)據(jù)庫

2017-07-25 12:07:14

MySQL索引SQL

2011-03-31 13:51:54

MySQL索引

2010-05-26 13:42:08

MySQL數(shù)據(jù)庫索引

2011-07-28 13:25:23

Linux

2010-10-12 16:50:14

MySQL Hash索

2010-11-11 15:48:54

MySQL單列索引

2010-05-31 12:31:42

MySQL建立索引

2010-05-31 12:55:49

MySQL索引

2009-06-24 10:25:25

C#泛型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號