电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

淺談MySQL之select優化方案

瀏覽:133日期:2023-10-17 19:56:59
目錄生活中的例子慢查詢如何去優化countlimit最大值最小值min&max生活中的例子

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

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

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

數據庫中慢查詢開銷的三個指標

相應時間 掃描的行數 返回的行數

如果走了索引

select * from stu where id = 1;

索引會優化查詢,只返回十條數據如果沒有id索引,那么就會預估訪問上百上千行數據

tips: 通過mysql中的EXPLAIN命令去查看的其中rows對應的行數

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

如何去優化

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

3.重構查詢(可以進行大的查詢化解成小的查詢)

舉例: 如count、limit、max()

count

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

limit

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

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

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

最大值最小值min&max

首先我們試想如果走的是主鍵索引,那么我們去查詢的時候第一個的值就是我們要返回的最小值我們也可以走主鍵索引以后,用limit去控制數據量,這樣就實現了min()函數的效果,從而替換掉min

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

這樣就盡可能掃描了少的記錄數

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

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

查找 `Person` 表中所有重復的電子郵箱。+----+---------+| Id | Email |+----+---------+| 1 | a@b.com || 2 | c@d.com || 3 | a@b.com |+----+---------+結果+---------+| Email |+---------+| a@b.com |+---------+解答select Email from Person group by Email having count(Email) >= 2;

到此這篇關于淺談MySQL之select優化方案的文章就介紹到這了,更多相關MySQL select優化內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | 正压送风机-多叶送风口-板式排烟口-德州志诺通风设备 | 轴流风机-鼓风机-离心风机-散热风扇-罩极电机,生产厂家-首肯电子 | 物流之家新闻网-最新物流新闻|物流资讯|物流政策|物流网-匡匡奈斯物流科技 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 自动焊锡机_点胶机_螺丝机-锐驰机器人 | 制氮设备-变压吸附制氮设备-制氧设备-杭州聚贤气体设备制造有限公司 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 凝胶成像系统(wb成像系统)百科-上海嘉鹏 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 深圳活动策划公司|庆典策划|专业公关活动策划|深圳艺典文化传媒 重庆中专|职高|技校招生-重庆中专招生网 | 广州工业氧气-工业氩气-工业氮气-二氧化碳-广州市番禺区得力气体经营部 | 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 智能风向风速仪,风速告警仪,数字温湿仪,综合气象仪(气象五要素)-上海风云气象仪器有限公司 | 北京软件开发_软件开发公司_北京软件公司-北京宜天信达软件开发公司 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 西门子伺服控制器维修-伺服驱动放大器-828D数控机床维修-上海涌迪 | 电液推杆生产厂家|电动推杆|液压推杆-扬州唯升机械有限公司 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 振动台-振动试验台-振动冲击台-广东剑乔试验设备有限公司 | 锡膏喷印机-全自动涂覆机厂家-全自动点胶机-视觉点胶机-深圳市博明智控科技有限公司 | 净化工程_无尘车间_无尘车间装修-广州科凌净化工程有限公司 | 东莞动力锂电池保护板_BMS智能软件保护板_锂电池主动均衡保护板-东莞市倡芯电子科技有限公司 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 数字展示在线_数字展示行业门户网站 | 酒万铺-酒水招商-酒水代理| 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 | 元拓建材集团官方网站| MES系统工业智能终端_生产管理看板/安灯/ESOP/静电监控_讯鹏科技 | loft装修,上海嘉定酒店式公寓装修公司—曼城装饰 | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 至顶网| 间甲酚,间甲酚厂家-山东祥东新材料| 泥浆在线密度计厂家-防爆数字压力表-膜盒-远传压力表厂家-江苏大亚自控设备有限公司 | 广域铭岛Geega(际嘉)工业互联网平台-以数字科技引领行业跃迁 | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | 高温热泵烘干机,高温烘干热泵,热水设备机组_正旭热泵 |