最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySql如何查看索引并實現優(yōu)化

 更新時間:2020年12月09日 10:59:00   作者:ノGHJ  
這篇文章主要介紹了MySql如何查看索引并實現優(yōu)化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

mysql中支持hash和btree索引。innodb和myisam只支持btree索引,而memory和heap存儲引擎可以支持hash和btree索引

我們可以通過下面語句查詢當前索引使用情況:

show status like '%Handler_read%';

+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| Handler_read_first | 0 |
| Handler_read_key | 0 |
| Handler_read_last | 0 |
| Handler_read_next | 0 |
| Handler_read_prev | 0 |
| Handler_read_rnd | 0 |
| Handler_read_rnd_next | 0 |
+-----------------------+-------+

如果索引正在工作,則Handler_read_key的值會很高,這個值代表一個行被索引值讀的次數,很低值表名增加索引得到的性能改善不高,因此索引并不經常使用

如果Handler_read_rnd_next值很高意味著查詢運行效率很低,應該建立索引補救,這個值含義是在數據文件中讀取下一行的請求數。如果正在進行大量表掃描,Handler_read_rnd_next的數值將會很高。說明索引不正確或者沒有利用索引。

優(yōu)化:

優(yōu)化insert語句:

1.盡量采用 insert into test values(),(),(),()...

2.如果從不同客戶插入多行,能通過使用insert delayed語句得到更高的速度,delayed含義是讓insert語句馬上執(zhí)行,其實數據都被放在內存隊列中個,并沒有真正寫入磁盤,這比每條語句分別插入快的多;low_priority剛好相反,在所有其他用戶對表的讀寫完后才進行插入。

3.將索引文件和數據文件分在不同磁盤上存放(利用建表語句)

4.如果進行批量插入,可以增加bulk_insert_buffer_size變量值方法來提高速度,但是只對MyISAM表使用

5.當從一個文本文件裝載一個表時,使用load data file,通常比使用insert快20倍

優(yōu)化group by語句:

默認情況下,mysql會對所有group by字段進行排序,這與order by類似。如果查詢包括group by但用戶想要避免排序結果的消耗,則可以指定order by null禁止排序。

優(yōu)化order by語句:

某些情況下,mysql可以使用一個索引滿足order by字句,因而不需要額外的排序。where條件和order by使用相同的索引,并且order by的順序和索引的順序相同,并且order by的字段都是升序或者降序。

優(yōu)化嵌套查詢:

mysql4.1開始支持子查詢,但是某些情況下,子查詢可以被更有效率的join替代,尤其是join的被動表待帶有索引的時候,原因是mysql不需要再內存中創(chuàng)建臨時表來完成這個邏輯上需要兩個步驟的查詢工作。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 淺談MySQL數據查詢太多會OOM嗎

    淺談MySQL數據查詢太多會OOM嗎

    本文主要介紹了淺談MySQL數據查詢太多會OOM嗎?文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 關于查詢MySQL字段注釋的5種方法總結

    關于查詢MySQL字段注釋的5種方法總結

    在MySQL數據庫中,字段或列的注釋是用屬性comment來添加,下面這篇文章主要給大家介紹了關于查詢MySQL字段注釋的5種方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • MySQL之高可用集群部署及故障切換實現

    MySQL之高可用集群部署及故障切換實現

    這篇文章主要介紹了MySQL之高可用集群部署及故障切換實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • MySQL數據庫基本SQL語句教程之高級操作

    MySQL數據庫基本SQL語句教程之高級操作

    對MySQL數據庫的查詢,除了基本的查詢外,有時候需要對查詢的結果集進行處理,下面這篇文章主要給大家介紹了關于MySQL數據庫基本SQL語句教程之高級操作的相關資料,需要的朋友可以參考下
    2022-06-06
  • Mysql忘記root密碼怎么辦

    Mysql忘記root密碼怎么辦

    MySQL有時候忘記了root密碼是一件傷感的事,下面通過本文給大家介紹Mysql忘記root密碼怎么辦的相關知識,需要的朋友參考下
    2016-01-01
  • MySQL 8.0.18使用clone plugin重建MGR的實現

    MySQL 8.0.18使用clone plugin重建MGR的實現

    這篇文章主要介紹了MySQL 8.0.18使用clone plugin重建MGR的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • JDBC如何連接不同類型數據庫

    JDBC如何連接不同類型數據庫

    這篇文章主要介紹了JDBC如何連接不同類型數據庫問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2007-02-02
  • MYSQL數據庫管理之權限管理解讀

    MYSQL數據庫管理之權限管理解讀

    這篇文章主要介紹了MYSQL數據庫管理之權限管理解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 淺談innodb的索引頁結構,插入緩沖,自適應哈希索引

    淺談innodb的索引頁結構,插入緩沖,自適應哈希索引

    下面小編就為大家?guī)硪黄獪\談innodb的索引頁結構,插入緩沖,自適應哈希索引。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • MYSQL中EXISTS的用法小結

    MYSQL中EXISTS的用法小結

    在MySQL數據庫中,EXISTS是一種強大的工具,用于處理復雜的查詢需求,本文主要介紹了MYSQL中EXISTS的用法小結,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05

最新評論

巴林左旗| 北辰区| 镇原县| 康马县| 岑巩县| 南靖县| 巴中市| 绥江县| 元阳县| 花莲市| 高阳县| 灵石县| 鸡泽县| 衡东县| 孙吴县| 若羌县| 蕉岭县| 宜兴市| 宜丰县| 大石桥市| 临潭县| 昌都县| 顺平县| 潜江市| 镇康县| 普格县| 贺兰县| 澳门| 五莲县| 天台县| 苏尼特右旗| 九龙坡区| 城步| 海口市| 远安县| 于田县| 南部县| 泗洪县| 盐池县| 天气| 平潭县|