日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
mysql索引比較分析

mysql索引讓我們的查詢效率大大提高,但是,也不是所有情況都需要用到mysql索引,下面就讓我們來分析一下mysql索引的使用。

創(chuàng)新互聯(lián)是專業(yè)的寧武網(wǎng)站建設(shè)公司,寧武接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行寧武網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

mysql中的表有兩種key,一種是primary key,還有secondary key。

如:

 
 
 
  1. CREATE TABLE layout_test (  
  2.  
  3.    col1 int NOT NULL,  
  4.  
  5.    col2 int NOT NULL,  
  6.  
  7.    PRIMARY KEY(col1),  
  8.  
  9.    KEY(col2)  
  10.  
  11. );  

col1是primary key,col2是secondary key。它們建立mysql索引。

以下簡稱為pk和sk。

myisam:

在myisam中,pk和sk的數(shù)據(jù)存儲方式是一樣的。都是b-tree的葉節(jié)點上存儲行號,即數(shù)據(jù)行的指針。

innodb:

在innodb中不太一樣。

pk是以聚簇索引存在的,并且在b-tee的葉節(jié)點上存放著primary key的值和其它列的值及事務(wù)ID和回滾指針。(innodb的primary index是聚簇索引)

sk的葉節(jié)點上也與myisam不太一樣,它存放著primary key的值(而不是數(shù)據(jù)的行指針)。

只有按最左邊前綴查詢的才會利用上索引。

下面這段來自mysql使用手冊:

 
 
 
  1. mysql> CREATE TABLE test (  
  2.            id INT NOT NULL,  
  3.            last_name CHAR(30) NOT NULL,  
  4.            first_name CHAR(30) NOT NULL,  
  5.            PRIMARY KEY (id),  
  6.            INDEX name (last_name,first_name)); 

那么mysql索引name是一個在last_name和first_name上的索引,這個索引將被用于在last_name或last_name和first_name的一個已知范圍內(nèi)指定值的查詢,因此,name索引將使用在下列查詢中:

 
 
 
  1. mysql> SELECT * FROM test WHERE last_name="Widenius";  
  2.  
  3. mysql> SELECT * FROM test WHERE last_name="Widenius" 
  4.                           AND first_name="Michael";  
  5.  
  6. mysql> SELECT * FROM test WHERE last_name="Widenius" 
  7.                           AND (first_name="Michael" OR first_name="Monty");  
  8.  
  9. mysql> SELECT * FROM test WHERE last_name="Widenius" 
  10.                           AND first_name >="M" AND first_name < "N";  
  11. 然而,name索引將不用在下列詢問中:   
  12.  
  13. mysql> SELECT * FROM test WHERE first_name="Michael";  
  14.  
  15. mysql> SELECT * FROM test WHERE last_name="Widenius" 
  16.                           OR first_name="Michael";  
  17.  

【編輯推薦】

MySQL索引的用處

mysql索引的不足

實現(xiàn)ADO連接MYSQL的實現(xiàn)

mysql觸發(fā)器new old介紹

建立MySQL觸發(fā)器的語法


當(dāng)前題目:mysql索引比較分析
當(dāng)前地址:http://www.dlmjj.cn/article/cdjcspd.html