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

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、做網(wǎng)站、通化縣網(wǎng)絡(luò)推廣、微信平臺小程序開發(fā)、通化縣網(wǎng)絡(luò)營銷、通化縣企業(yè)策劃、通化縣品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供通化縣建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
MySQL索引作用
在索引列上,除了上面提到的有序查找之外,數(shù)據(jù)庫利用各種各樣的快速定位技術(shù),能夠大大提高查詢效率。特別是當數(shù)據(jù)量非常大,查詢涉及多個表時,使用索引往往能使查詢速度加快成千上萬倍。
例如,有3個未索引的表t1、t2、t3,分別只包含列c1、c2、c3,每個表分別含有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個相等的值。在無索引的情況下處理此查詢,必須尋找3個表所有的組合,以便得出與WHERE子句相配的那些行。而可能的組合數(shù)目為1000×1000×1000(十億),顯然查詢將會非常慢。
如果對每個表進行索引,就能極大地加速查詢進程。利用索引的查詢處理如下。
(1)從表t1中選擇***行,查看此行所包含的數(shù)據(jù)。
(2)使用表t2上的索引,直接定位t2中與t1的值匹配的行。類似,利用表t3上的索引,直接定位t3中與來自t1的值匹配的行。
(3)掃描表t1的下一行并重復前面的過程,直到遍歷t1中所有的行。
在此情形下,仍然對表t1執(zhí)行了一個完全掃描,但能夠在表t2和t3上進行索引查找直接取出這些表中的行,比未用索引時要快一百萬倍。
利用MySQL索引,MySQL加速了WHERE子句滿足條件行的搜索,而在多表連接查詢時,在執(zhí)行連接時加快了與其他表中的行匹配的速度。
【編輯推薦】
mysql索引的不足
MySql連接字符串的說明
mysql觸發(fā)器的三個狀態(tài)
mysql建主從服務(wù)器的實現(xiàn)方法
獲取當前時間的MySql時間函數(shù)
當前文章:MySQL索引的用處
文章轉(zhuǎn)載:http://fisionsoft.com.cn/article/codjgpp.html


咨詢
建站咨詢
