最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

一文解讀MySQL查詢優(yōu)化技巧

2023-07-10 23:55 作者:懶人Java屈原  | 我要投稿

只select用到的字段

select * 會(huì)將用不到的字段也查詢出來(lái),耗費(fèi)內(nèi)存資源。并且不能使用覆蓋索引

盡量使用覆蓋索引

select column1,column2 from user。如果查詢的所有字段都是索引字段,稱為覆蓋索引,覆蓋索引的查詢速度與效率是非常高的。

索引使用要合理

不要在重復(fù)性過(guò)高的字段上使用索引,比如性別這個(gè)字段,加上索引的作用不大。根據(jù)阿里巴巴開(kāi)發(fā)手冊(cè),單表索引要在5個(gè)以內(nèi)。

減少數(shù)據(jù)庫(kù)交互次數(shù)

之前帶實(shí)習(xí)生的時(shí)候,看到過(guò)這種代碼 ,邏輯沒(méi)問(wèn)題,但是磁盤(pán)IO次數(shù)過(guò)多,增加性能消耗

使用limit 1

第一條SQL找到第一條匹配數(shù)據(jù)之后,繼續(xù)掃描下一條數(shù)據(jù),直到所有數(shù)據(jù)表的數(shù)據(jù)掃描一遍。

第二條SQL,加了limit 1之后,找到第一條匹配的數(shù)據(jù)之后,直接返回結(jié)果,停止匹配工作。

limit分頁(yè)優(yōu)化

有時(shí)候業(yè)務(wù)要做數(shù)據(jù)清洗,可能要做分頁(yè)

原SQL,會(huì)查詢10020條數(shù)據(jù),再拋棄前面的10000條數(shù)據(jù),只保留20條。而優(yōu)化后的SQL,會(huì)直接從10001數(shù)據(jù)查起,取20條數(shù)據(jù)。

避免左模糊匹配

Union替換OR語(yǔ)句

In與Exists的使用

謹(jǐn)慎使用MySQL查詢緩存

查詢緩存在MySQL在4.0提出,MySQL8之后又移除。但是大部分公司還在使用MySQL5.7,還是有這一項(xiàng)功能的。查詢緩存默認(rèn)是處于關(guān)閉狀態(tài)的,需要手動(dòng)修改配置文件,重啟才能生效。開(kāi)啟查詢緩存后,SQL第一次執(zhí)行后會(huì)將數(shù)據(jù)緩存到內(nèi)存中,第二次查詢直接從內(nèi)存讀取。但是存在以下缺點(diǎn):

緩存命中率不高,任何對(duì)于表結(jié)構(gòu)與數(shù)據(jù)的更新操作都會(huì)讓緩存失效。兩次查詢的SQL需要完全匹配,連大小寫(xiě)都需要一致。根據(jù)官方的測(cè)試,開(kāi)啟緩存后針對(duì)一個(gè)表進(jìn)行簡(jiǎn)單查詢,每次查的都不一樣,結(jié)果性能降低13%。這個(gè)是個(gè)用的好,提升性能,用不好會(huì)坑自己的方法。


一文解讀MySQL查詢優(yōu)化技巧的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
岑溪市| 新巴尔虎左旗| 芮城县| 中宁县| 西盟| 仲巴县| 嘉禾县| 辉南县| 台中县| 吉林市| 四会市| 岳池县| 福鼎市| 乐业县| 绥德县| 水城县| 富顺县| 襄樊市| 东明县| 邵武市| 璧山县| 湖南省| 阜平县| 甘德县| 贡嘎县| 迁安市| 定西市| 河源市| 肥西县| 巴彦淖尔市| 南汇区| 华安县| 仁寿县| 榕江县| 高平市| 社旗县| 永福县| 黄龙县| 滦南县| 四子王旗| 凤凰县|