對索引的理解

2021-07-01 23:10:33 字數 313 閱讀 3105

記錄下我對索引的理解

做表查詢時例如:select id, name, age from students where id = 1234,如果id不是主鍵,則資料庫將進行全表掃瞄直到找到id為1234的記錄,如果系統要求頻繁對這個表進行查詢的話,效率不高。

解決辦法就是使用索引,在id列上建索引。每個索引對應乙個id,乙個id又對應一條記錄,做表查詢時,ddms根據索引使用已有的索引優化演算法進行定位,從而提高查詢速度。但是更新時速度會有影響,因為更新表資料的同時,也會更新對應的索引,從而增加了工作量,增加了更新時間。因此,理想的做法是僅僅在常常被搜尋的列(以及表)上面建立索引

對索引的一點理解

以前在網上看到一些觀點,in 或者not in 都不會用到索引,昨天在優化sql的時候,發現這些觀點並不對 select from wf doc gw fawen f where f.cfbt ee and f.ndocid in select distinct gi.src ndocid from...

自己對mysql 索引理解

首先明確幾個觀點 1mysql 是紅黑樹,具體是什麼暫時不去考慮,可以將其當做鍊錶看 只是為了解釋索引,真是情況不可以這樣當 2mysql 資料分塊儲存。可以這樣舉例 mysql 表的結構如下 idusername 實際的儲存方式是這樣的 1,a 2,b 3,a 4,d 5,e 當前我們要查詢id ...

對MySQL中索引的一些理解

什麼是索引?有人說 索引就是一本書的目錄,當我們想要快速的找到某個點時就可以通過目錄直接跳到相應地方 這只是乙個通俗的說法,索引的定義是 索引是為了加速對錶中資料行的檢索而建立的乙個分散儲存 的資料結構。它是一種資料結構而且是b tree結構。為什麼要建立索引?正確的建立合適的索引會提高資料庫查詢的...