久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

淺談MySQL之select優(yōu)化方案

瀏覽:111日期:2023-10-17 19:56:59
目錄生活中的例子慢查詢?nèi)绾稳?yōu)化countlimit最大值最小值min&max生活中的例子

我們是否看到過在公司中許多查詢語句都是select * xxxx

心中的想法肯定是,別人寫了select *,那我寫吧,省去了不少麻煩事兒

慢查詢 首先去思考,最基本的,是否我們使用的數(shù)據(jù)庫插查詢語句存在了訪問的數(shù)據(jù)太多 其實大部分性能低的查詢往往都可以通過減少訪問的數(shù)據(jù)量來優(yōu)化的 因為select * 會給服務(wù)器帶來額外的I/O、內(nèi)存和cpu的消耗

數(shù)據(jù)庫中慢查詢開銷的三個指標(biāo)

相應(yīng)時間 掃描的行數(shù) 返回的行數(shù)

如果走了索引

select * from stu where id = 1;

索引會優(yōu)化查詢,只返回十條數(shù)據(jù)如果沒有id索引,那么就會預(yù)估訪問上百上千行數(shù)據(jù)

tips: 通過mysql中的EXPLAIN命令去查看的其中rows對應(yīng)的行數(shù)

其實最好的情況就是在存儲引擎層過where濾掉不匹配的記錄其次好的情況是覆蓋索引命中掃描,在服務(wù)器層where濾掉不匹配的記錄,不需要回表查詢最的情況是從數(shù)據(jù)表返回數(shù)據(jù),然后再過濾不滿足條件的記錄

如何去優(yōu)化

使用索引覆蓋,把我們需要的列都放在索引中,這樣我們就避免了回表去查詢可以單獨分出來表

3.重構(gòu)查詢(可以進(jìn)行大的查詢化解成小的查詢)

舉例: 如count、limit、max()

count

count 最好的優(yōu)化就是增加匯總表,因為count不可避免需要掃描大量的行

limit

limit我們在做分頁的時候很常用,如下面代碼

select id from stu order by id limit 1000,20;

這條語句會查詢1020條數(shù)據(jù)然后丟掉前一千條返回1000~1020的二十條數(shù)據(jù)那么優(yōu)化的最好的方式就是走索引,這樣limit查詢查就能變成已知位置的查詢

最大值最小值min&max

首先我們試想如果走的是主鍵索引,那么我們?nèi)ゲ樵兊臅r候第一個的值就是我們要返回的最小值我們也可以走主鍵索引以后,用limit去控制數(shù)據(jù)量,這樣就實現(xiàn)了min()函數(shù)的效果,從而替換掉min

select id from stu use index(primay) where address = ’bj’ limit 1;

這樣就盡可能掃描了少的記錄數(shù)

最后我們來做兩道題放松一下吧

找出`Employee` 表中第二高的薪水(Salary)+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+結(jié)果+---------------------+| SecondHighestSalary |+---------------------+| 200 |+---------------------+解答select max(Salary) SecondHighestSalaryfrom Employee where salary < (select max(salary)from Employee)

查找 `Person` 表中所有重復(fù)的電子郵箱。+----+---------+| Id | Email |+----+---------+| 1 | [email protected] || 2 | [email protected] || 3 | [email protected] |+----+---------+結(jié)果+---------+| Email |+---------+| [email protected] |+---------+解答select Email from Person group by Email having count(Email) >= 2;

到此這篇關(guān)于淺談MySQL之select優(yōu)化方案的文章就介紹到這了,更多相關(guān)MySQL select優(yōu)化內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 国产伊人99 | 一区二区三区免费 | 99爱视频 | 伊人最新网址 | 国产精品激情在线观看 | 日韩1区 | 久久成人综合网 | 免费看国产片在线观看 | 国产精品一区二区在线观看 | 国产精品久久久久久久午夜片 | www.亚洲| 午夜午夜精品一区二区三区文 | 国产精品久久九九 | 精品在线一区二区 | 国产精品亚洲视频 | 久久人人爽人人爽人人片亚洲 | 国产精品欧美一区二区三区 | 一级黄色大片视频 | 日本一区二区三区四区 | 日韩精品一区二区三区在线播放 | 婷婷天堂 | 久久久999精品视频 欧美老妇交乱视频 | 成年人视频在线免费观看 | 久久精品欧美一区二区三区不卡 | 亚洲成人综合在线 | 一区二区亚洲 | 亚洲欧洲精品视频 | 四虎黄色网 | 丝袜 亚洲 另类 欧美 综合 | 色综合五月婷婷 | 男人的天堂久久 | 色偷偷噜噜噜亚洲男人 | 国产精品久久久久久久久福交 | 午夜激情福利视频 | 国产欧美日韩精品一区 | 99re6在线视频精品免费 | 欧洲成人午夜免费大片 | 国产成人av综合 | 亚洲午夜精品一区二区三区他趣 | 手机看片在线 | 欧美一区在线看 |