国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

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

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

我們可以通過下面語(yǔ)句查詢當(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的值會(huì)很高,這個(gè)值代表一個(gè)行被索引值讀的次數(shù),很低值表名增加索引得到的性能改善不高,因此索引并不經(jīng)常使用

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

優(yōu)化:

優(yōu)化insert語(yǔ)句:

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

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

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

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

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

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

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

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

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

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

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 新化县| 徐汇区| 中西区| 苍南县| 育儿| 汕尾市| 鲁甸县| 凤翔县| 阳谷县| 微山县| 易门县| 甘谷县| 文成县| 张掖市| 三穗县| 株洲县| 兰考县| 彭泽县| 高青县| 房山区| 镇坪县| 霍邱县| 高青县| 荣成市| 宁安市| 蒲城县| 新龙县| 历史| 肇源县| 盈江县| 金沙县| 津南区| 海淀区| 江城| 棋牌| 丹寨县| 台中县| 宜州市| 横峰县| 佛坪县| 乌什县|