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