最理想的索引

2021-10-08 12:58:05 字數 1131 閱讀 3263

* sql查詢語句在執行中需要掃瞄的乙個索引頻段,我們會根據索引片中包含的匹配列的數量不同,將索引分成窄索引和寬索引。

* 如果索引片越寬,需要順序掃瞄的索引頁就越多,如果索引片越窄,就會減少索引訪問的時間。

* 回表:資料庫根據索引找到資料行之後,還需要通過主鍵,再次到資料表中讀取資料的情況。
* 過濾因子:謂詞的選擇性。就是where條件中,每個條件,都是乙個謂詞。
1. 在where條件語句中,找到所有等值謂詞中的條件列,將他們作為索引片中的開始列。

2. 將group by 和 order by 中的列,加入到索引中。

3. 將select欄位中剩餘的列加入到索引片中。

1. 通過索引查詢符合條件的記錄,就需要將where子句中的等值謂詞列加入到索引片中,這樣索引的過濾能力越強,最終掃瞄的資料行就越少

2. 我們對資料記錄分組或者排序,都需要重新掃瞄資料記錄,為了避免進行file sort 排序,可以把group by 和 order by 中涉及到的列加入到索引中,因為建立了索引就會按照索引的順序來儲存資料。

3. 我們取資料的時候,會存在回表情況。回表就是通過索引找到了資料行,但是還需要通過主鍵的方式在資料表中查詢完成的記錄。這是因為select所需的字段並不都儲存在索引中,因此我們可以將select中的字段都儲存在索引中,避免回表的情況。

1. 採用三星索引,會讓索引變寬,這樣每個頁能夠儲存的索引資料會變少,從而增加了頁載入的數量。從另乙個角度看,如果資料量很大,過多的索引需要的磁碟空間會成為乙個問題,對緩衝池所需的空間的壓力會增加

2. 增加了索引維護的成本,如果索引個數過多,索引維護的成本會增加。

1. 一張表的索引個數不宜過多。

2. 需要控制索引列的數量。

3. 單列索引和符合索引的長度也需要控制,在mysql innodb中,系統預設單個索引長度最大767,如果單列索引長度超過了這個限制,就會取字首索引,也就是取前255字元。

4. 資料表設計的時候,盡量採用數值型別代替字元型別,盡量避免用字元型別做主鍵,同時針對字元字段,最好只建立字首索引。

食療排鉛最理想

目前,食療排鉛是比較理想的方法之一。一 多吃含豐富維生素c的食物。如帶酸味的水果 檸檬 石榴 山楂 酸棗等。二 蛋白質和鐵可取代鉛與組織中的有機物結合,加速鉛代謝。含優質蛋白質的食物有雞蛋 牛奶和瘦肉等,含鐵豐富的綠葉菜和水果則有菠菜 芹菜 油菜 莧菜 薺菜 紅棗等。三 吃大蒜可以解毒。大蒜中的大蒜...

轉 找工作 永遠沒有最理想的

很多人爬到了梯子的頂端,才發現梯子靠錯了牆。就像誤會往往不是產生於 不了解 而是產生於 自以為了解 阻礙我們職業生涯發展的往往不是 不正確 而是 自以為正確 這才是更可怕的。每個人在進入職場以前,都期望能找乙份理想的工作,充分發揮所長,從而實現人生價值。其實,理想的工作包括很多方面,比如理想的崗位 ...

理想的索引

理想的索引 1 查詢頻繁 2 區分度高 3 長度小 4 盡量能覆蓋常用查詢欄位.1 索引長度直接影響索引檔案的大小,影響增刪改的速度,並間接影響查詢速度 占用記憶體多 針對列中的值,從左往右擷取部分,來建索引 1 截的越短,重複度越高,區分度越小,索引效果越不好 2 截的越長,重複度越低,區分度越高...