色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

MySql如何查看索引并實現優化

瀏覽:3日期:2023-10-08 08:22:07

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的數值將會很高。說明索引不正確或者沒有利用索引。

優化:

優化insert語句:

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

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

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

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

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

優化group by語句:

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

優化order by語句:

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

MySql如何查看索引并實現優化

優化嵌套查詢:

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

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

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 黄+色+性+人免费 | 日韩精品中文字幕一区二区三区 | 午夜性刺激免费视频观看不卡专区 | 欧美午夜视频在线 | 久久亚洲综合中文字幕 | 免费国产综合视频在线看 | 国产99久久 | 国产人成精品综合欧美成人 | 日本一级特黄特色大片免费视频 | 一区自拍 | 国产一级片免费看 | 美国一级毛片a | 亚洲国产精品免费 | 黄色a一片 | 国产精品久久久久久 | 亚洲在线观看 | 亚洲高清在线看 | 色哟哟国产成人精品 | 91精品啪在线看国产网站 | 国内自拍欧美 | 亚洲区精品 | 日韩一级大毛片欧美一级 | 这里只有久久精品视频 | 国内外成人免费在线视频 | 九九精品免费 | 亚洲资源在线观看 | 免费视频一区二区三区四区 | 日韩成人在线观看 | 国产精品日本一区二区在线播放 | 国产精品视频999 | 成年人黄色免费网站 | www.亚洲天堂网 | 日韩第一视频 | 亚洲毛片免费看 | 美女被免费网站视频软件 | 中文字幕亚洲国产 | 亚州中文字幕 | 成人一级视频 | 国产精品亚洲片夜色在线 | 黄+色+性+人免费 | 久久成人网18网站 |