日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql 面试知识点笔记(二)查询优化及索引越多越好吗?

發(fā)布時(shí)間:2025/4/5 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 面试知识点笔记(二)查询优化及索引越多越好吗? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

問(wèn):如何定位并優(yōu)化慢查詢SQL?

  • 根據(jù)慢日志定位慢查詢sql
  • 使用explain等工具分析sql
  • 使用sql或者盡量讓sql走索引

先看看設(shè)置??

show variables like '%quer%';

如圖 3個(gè)參數(shù)是相關(guān)慢查詢的設(shè)置 時(shí)間、開關(guān)和log地址

--查詢本次會(huì)話期間客戶端慢查詢的次數(shù) show status like '%slow_queries%';? --打開慢查詢?nèi)罩?set global slow_query_log = on; --設(shè)置超時(shí)時(shí)間 這個(gè)設(shè)置了 要重鏈客戶端有效 但如果重啟服務(wù)器端這個(gè)設(shè)置會(huì)還原 要想永久生效 用my.ini設(shè)置 set global long_query_time =1;

切記,如果客戶端顯示的查詢時(shí)間明顯感覺和實(shí)際耗費(fèi)時(shí)間不符的時(shí)候,以日志記錄的時(shí)間為準(zhǔn)。

explain 分析:注意以下兩點(diǎn)

?

分析完了之后盡量讓查詢走索引

--添加索引 alter table test_table add index idx_name(test_field);

ps: explain select count(id) from test_table 不一定走的id(id是密集索引、主鍵)索引,走哪個(gè)索引是查詢優(yōu)化器決定的,排除數(shù)據(jù)行越快選哪個(gè)。沒走主鍵索引,可能是密集索引的葉子節(jié)點(diǎn)中存放了其他列的數(shù)據(jù),而這時(shí)的稀疏只存放了關(guān)鍵字和主鍵的值,count起來(lái)更快。另外使用select count(id) from test_table force index(primary) 強(qiáng)制走主鍵索引。

問(wèn):索引建立越多越好嗎?

  • 數(shù)據(jù)量小的表不需要建立索引,因?yàn)榻⑺饕龝?huì)增加額外的開銷。
  • 數(shù)據(jù)變更需要維護(hù)索引,因此更多的索引意味著更多的維護(hù)成本。
  • 更多的索引意味著更多的存儲(chǔ)空間。

?

轉(zhuǎn)載于:https://my.oschina.net/pentakill/blog/3044499

總結(jié)

以上是生活随笔為你收集整理的mysql 面试知识点笔记(二)查询优化及索引越多越好吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。