主頁 > 知識庫 > MySql如何查看索引并實(shí)現(xiàn)優(yōu)化

MySql如何查看索引并實(shí)現(xiàn)優(yōu)化

熱門標(biāo)簽:北京人工外呼系統(tǒng)價錢 地圖標(biāo)注被騙三百怎么辦 天智外呼系統(tǒng) 400電話鄭州申請 福州呼叫中心外呼系統(tǒng)哪家好 常州電銷外呼系統(tǒng)一般多少錢 房產(chǎn)智能外呼系統(tǒng)品牌 沃克斯電梯外呼線路圖 云南語音外呼系統(tǒng)平臺

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

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

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的值會很高,這個值代表一個行被索引值讀的次數(shù),很低值表名增加索引得到的性能改善不高,因此索引并不經(jīng)常使用

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

優(yōu)化:

優(yōu)化insert語句:

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

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

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

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

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

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

默認(rèn)情況下,mysql會對所有g(shù)roup by字段進(jìn)行排序,這與order by類似。如果查詢包括group by但用戶想要避免排序結(jié)果的消耗,則可以指定order by null禁止排序。

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

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • mysql利用覆蓋索引避免回表優(yōu)化查詢
  • MySQL如何優(yōu)化索引
  • MySQL如何基于Explain關(guān)鍵字優(yōu)化索引功能
  • MySQL利用索引優(yōu)化ORDER BY排序語句的方法
  • MySQL 函數(shù)索引的優(yōu)化方案
  • MySQL性能優(yōu)化之如何高效正確的使用索引
  • 一篇文章掌握MySQL的索引查詢優(yōu)化技巧
  • MySQL數(shù)據(jù)庫優(yōu)化之索引實(shí)現(xiàn)原理與用法分析
  • 淺談MySQL索引優(yōu)化分析
  • 理解MySQL——索引與優(yōu)化總結(jié)
  • Mysql 索引該如何設(shè)計與優(yōu)化

標(biāo)簽:鹽城 沈陽 移動 沈陽 黔東 拉薩 珠海 徐州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySql如何查看索引并實(shí)現(xiàn)優(yōu)化》,本文關(guān)鍵詞  MySql,如何,查看,索引,并,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySql如何查看索引并實(shí)現(xiàn)優(yōu)化》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySql如何查看索引并實(shí)現(xiàn)優(yōu)化的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章