mysql建立索引 Mysql聯(lián)合索引什么時(shí)候會(huì)被用到?
Mysql聯(lián)合索引什么時(shí)候會(huì)被用到?查詢時(shí),使用聯(lián)合索引的字段。如果此字段是聯(lián)合索引中所有字段的第一個(gè),則將使用索引。否則,無(wú)法使用索引。例如,當(dāng)只使用字段a進(jìn)行查詢時(shí),將使用聯(lián)合索引idx(字段a、
Mysql聯(lián)合索引什么時(shí)候會(huì)被用到?
查詢時(shí),使用聯(lián)合索引的字段。如果此字段是聯(lián)合索引中所有字段的第一個(gè),則將使用索引。否則,無(wú)法使用索引。例如,當(dāng)只使用字段a進(jìn)行查詢時(shí),將使用聯(lián)合索引idx(字段a、字段B、字段C和字段d);如果只使用字段B或字段C或字段d進(jìn)行查詢,則不使用索引idx。這個(gè)規(guī)則在Oracle和MySQL數(shù)據(jù)庫(kù)中都適用。
MySQL聯(lián)合索引默認(rèn)會(huì)包含主鍵么?
首先,主鍵索引實(shí)際上是數(shù)據(jù)本身。它的葉頁(yè)包含主鍵和所有相應(yīng)的行數(shù)據(jù)。不僅聯(lián)合索引,而且所有非主鍵索引(輔助索引)的葉頁(yè)都將包含主鍵。即使您的表沒有主鍵,MySQL也會(huì)在表上創(chuàng)建一個(gè)隱式主鍵,您的次索引也會(huì)包含它。當(dāng)使用次索引進(jìn)行查詢時(shí),首先獲取次索引葉頁(yè)上的數(shù)據(jù)和對(duì)應(yīng)的主鍵,然后通過(guò)主鍵搜索主鍵索引,得到其他列的數(shù)據(jù)。也就是說(shuō),當(dāng)?shù)诙饕凰阉鲿r(shí),索引將被搜索兩次。因此,在選擇主鍵時(shí),應(yīng)盡量使用較小的主鍵。如果主鍵太大,則次索引將相對(duì)較大。