亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql索引建立規則有哪些

發布時間:2021-08-04 16:41:53 來源:億速云 閱讀:140 作者:Leah 欄目:數據庫

mysql索引建立規則有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

  mysql建立索引常用的規則如下:

  1、表的主鍵、外鍵必須有索引;

  2、數據量超過300的表應該有索引;

  3、經常與其他表進行連接的表,在連接字段上應該建立索引;

  4、經常出現在Where子句中的字段,特別是大表的字段,應該建立索引;

  5、索引應該建在選擇性高的字段上;

  6、索引應該建在小字段上,對于大的文本字段甚至超長字段,不要建索引;

  7、復合索引的建立需要進行仔細分析;盡量考慮用單字段索引代替: A、正確選擇復合索引中的主列字段,一般是選擇性較好的字段; B、復合索引的幾個字段是否經常同時以AND方式出現在Where子句中?單字段查詢是否極少甚至沒有?如果是,則可以建立復合索引;否則考慮單字段索引; C、如果復合索引中包含的字段經常單獨出現在Where子句中,則分解為多個單字段索引; D、如果復合索引所包含的字段超過3個,那么仔細考慮其必要性,考慮減少復合的字段; E、如果既有單字段索引,又有這幾個字段上的復合索引,一般可以刪除復合索引;

  8、頻繁進行數據操作的表,不要建立太多的索引;

  9、刪除無用的索引,避免對執行計劃造成負面影響; 以上是一些普遍的建立索引時的判斷依據。一言以蔽之,索引的建立必須慎重,對每個索引的必要性都應該經過仔細分析,要有建立的依據。因為太多的索引與不充分、不正確的索引對性能都毫無益處:在表上建立的每個索引都會增加存儲開銷,索引對于插入、刪除、更新操作也會增加處理上的開銷。另外,過多的復合索引,在有單字段索引的情況下,一般都是沒有存在價值的;相反,還會降低數據增加刪除時的性能,特別是對頻繁更新的表來說,負面影響更大

  你現在種方法效率其實是差不多的,都非常低,極端低,最低。

  一、如果不改進效率,只簡化程序,我有建議你對新聞類別進行二進制編碼,仍然使用features一個字段來表示,字段為整數類型,使用最低開始的四個二進制位是否為1來表示是否為圖片新聞、頭條新聞、首頁新聞、重要新聞,例如7(二進制的0111)表示具有頭條、首頁、重要三個屬性。查詢的時候使用位運算&來實現,圖片新聞、頭條新聞、首頁新聞、重要新聞的權重分別是8、4、2、1,這時候假若調用三條是圖片新聞的新聞時,直接可以用sql語句:

  select * from news where features & 8=8 order by news_id desc limit 0,3;

  假若調用三條是圖片新聞、并且重要新聞時,直接可以用sql語句:

  select * from news where features & 9=9 order by news_id desc limit 0,3;

  看見沒有,可以查詢具有一種屬性的,也可以查詢具有多種屬性的數據,程序很方便。

  二、高效的辦法是另外建立表來記錄各類新聞,冗余保存數據到多個表中,需要查什么新聞就在哪一個表中查詢。但是程序會非常復雜,保存的時候要根據類別存儲到不同的表中,修改的最麻煩,如果修改類別還需要把數據從一個表移動到另外的表。當然,作為新聞這樣的應用,都是保存一次、修改一二次、查看成千上萬次,為了整體效率肯定是關鍵優化查詢代碼。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴林右旗| 翁源县| 固阳县| 林芝县| 富锦市| 梅州市| 江永县| 栾川县| 凤台县| 平度市| 克什克腾旗| 兴隆县| 阳江市| 德化县| 都兰县| 武城县| 深州市| 郴州市| 麦盖提县| 名山县| 昌平区| 甘谷县| 大石桥市| 临洮县| 兰坪| 滦南县| 云和县| 东方市| 安泽县| 肥城市| 长岛县| 将乐县| 峡江县| 凤凰县| 兰溪市| 谷城县| 樟树市| 乌兰察布市| 昌图县| 合水县| 聂拉木县|