mysql索引類型,mysql索引

來源:互聯網
上載者:User

mysql索引類型,mysql索引

MYSQL索引分為以下幾種類型:

  • KEY or INDEX :

    普通索引就是不同於唯一索引的一般索引,索引所在列上可以包含有相同的值,所以中的行可能包含完全相同的行。這些索引不會對資料產生任何限制,只是為了加快資料的查詢操作。)

  • UNIQUE :

    唯一索引值的是索引(建立在某些列上)中所有的行必須是唯一的,也就是說索引某行中欄位的值和其他行的擁有不同的非NULL值,除了加快查詢操作,唯一性索引還能再插入或者更新資料時保持該欄位的值唯一。當索引中兩行的值都是NULL時,他們被認為是不同的,因為NULL和它自身不相等。但是一般都避免建立索引的欄位上出現NULL值)

  • PRIMARY :

    主鍵是特殊的唯一性索引,一般情況下依噶表中只有一個主鍵,主鍵不允許欄位值為NULL(和唯一性索引的區別),之間是最小的能唯一確定一行的識別欄位。mysql的InnoDB將資料按照主鍵的順序存放在磁碟上。

  • FULLTEXT :

    全文索引和以上的所有索引不一樣,在不同的資料庫系統中執行檢索的行為也大不相同。全文索引的唯一目的是實現全文檢索索引,只能在MATCH()/AGAINST()語句中使用。不同於其他使用B樹或者hash表實現的索引,其實現方式也不一樣。

各種索引的相同點:
  1. 所有的索引是簡曆在一個或者多個欄位上的
  2. 除了全文檢索索引,進行查詢時欄位的順序是很重要的。查詢時必須從索引的第一個欄位進行匹配,依次匹配索引中的第二個、第三個。。。。。。

例如索引是建立在column1,column2,column3上的,

where column1=xxx會使用索引,但是where column2=xxx不會使用索引,除非是where column1=xxx and column2=xxx這種當它前面的欄位用作檢索之後,它本身才能拿來用作檢索,這種情況下能使用索引。這就是複合式索引的使用方法。



參考資料:

http://stackoverflow.com/questions/707874/differences-between-index-primary-unique-fulltext-in-mysql


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.