含義:索引是乙個單獨的、儲存在磁碟上的資料庫結構,他們包含著對資料表裡所有記錄的引用指標。
普通索引允許插入重複值和空值。(1)索引並非越多越好,一方面占用磁碟空間,另一方面在insert、update、delete時影響效能,因為在進行資料修改的時候,索引也會進行調整更新。唯一索引,索引列的值必須唯一,允許空值。如果是組合索引的話,列值的組合必須唯一。
主鍵索引是一種特殊的唯一索引,不允許空值
(2)避免對經常更新的表進行過多的索引,並且索引中的列盡可能少。對經常進行查詢的列應該建立索引。
(3)資料量小的表最好不要使用索引
(4)在條件表示式中經常用到不同值較多的列上建立索引,反例就是性別男、女。
(5)當唯一性是某種資料本身的特徵時,指定唯一索引。
(6)在頻繁進行排序或分組的列上建立索引。
mysql 索引總結 mysql索引總結
mysql中每乙個表都有乙個聚簇索引clusted index,該所索引是預設建立的,除此之外的表上的每乙個非聚簇索引都是二級索引,又叫輔助索引 secondary indexes 以innodb來說,每個innodb表具有乙個特殊的索引稱為聚集索引,如果您的表上定義有主鍵,該主鍵索引是聚集索引,如...
mysql次級索引 MySQL 索引總結
1 索引是做什麼的?想象一下,你面前有本詞典,資料就是書的正文內容,你就是那個cpu,而索引,則是書的目錄 索引用於快速找出在某個列中有一特定值的行。不使用索引,mysql必須從第1條記錄開始然後讀完整個表直到找出相關的行。表越大,花費的時間越多。如果表中查詢的列有乙個索引,mysql能快速到達乙個...
mysql 索引總結
索引用來快速地尋找那些具有特定值的記錄,所有mysql索引都以b 樹的形式儲存。如果沒有索引,執行查詢時mysql必須從第乙個記錄開始掃瞄整個表的所有記錄,直至找到符合要求的記錄。表裡面的記錄數量越多,這個操作的代價就越高。如果作為搜尋條件的列上已經建立了索引,mysql無需掃瞄任何記錄即可迅速得到...