• 理論上任何錶都需要索引(index),有的表需要一個索引,有的表需要多個索引以及複合索引,和應用場景有關
  • 主鍵也是索引
  • 索引並不是越多越好。索引會有存儲空間得開銷,以及增刪改時維護索引的開銷。因而業務表(頻繁增刪改)索引盡量精簡,而分析表(各種維度的查詢)索引會複雜的多的多。


首先數據量,小的數據量不需要加

之後頻繁對錶進行更新數據不需要加

反過來,數據量大的,唯一性的,查詢頻繁的數據表中的欄位,就適合加


簡單粗暴的話:哪個欄位查詢,或哪個欄位排序,哪個欄位,或在where條件中用,就給哪個欄位加


首先還是要理解一下,索引的機制是怎樣的,為什麼會有索引。

一般來說,對表中數據的操作,分為增、刪、改、查。

建索引,是為了提高查詢效率的。

而對增、刪、改的處理效率,都是有反向作用的。

所以還是要看你的使用場景。

如果是需要提高查詢效率,而適應的降低一些增、刪、改的效率,那麼加索引是合理的。

具體在哪些欄位上添加索引,還是要看你的查詢需求。

一般來說,在查詢條件上添加索引,可以明顯提高查詢的效率。

可以看下下面這個視頻:

第22課:極速的索引強哥的視頻 · 137 播放

讀場景頻率高於寫入場景,同時數據表裡的數據量非常大,資料庫伺服器配置無法滿足響應需求的時候


簡單來說就是where條件後面的列。

事務處理的一個典型應用是,給定一個關於某一/幾個列的條件表達式,找到表中符合條件的行,然後返回行數據或更新行數據。

如果相關列有索引,那麼通過比較少的幾次磁碟i/o,就可以定位到符合條件的若干行。

相反,如果相關列沒有索引,那麼需要掃描全表才能定位到符合條件的行。

如此。


推薦閱讀:
相关文章