mysql sql 1到10_(1.10)SQL优化——mysql 常见SQL优化
(1.10)常用SQL优化
insert优化、order by 优化
1、insert 优化
2、order by 优化
【2.1】mysql排序方式:
(1)索引扫描排序:通过有序索引扫描直接返回有序数据
(2)filesort排序:所有不是索引扫描返回结果的数据均为filesort排序
filesort优化:
3、优化group by
4、子查询优化
在!= 操作的子查询中,可以用left join + is null 来优化
5、or优化
or 在同字段下可以改成 in
在不同字段下可以使用Union all
6、limit优化
【6.1】子查询优化/join(id为索引字段)
这种方式先定位偏移位置的 id,然后往后查询,这种方式适用于 id 递增的情况。
SELECT * FROMproductWHERE ID > =(select id from product limit 866613, 1) limit 20或者SELECT * FROMproduct aJOIN (select id from product limit 866613, 20) b ON a.ID = b.id
【6.2】ID限定优化
使用 id 限定优化
这种方式假设数据表的id是连续递增的,则我们根据查询的页数和查询的记录数可以算出查询的id的范围,
可以使用 id between and 来查询:
select * from orders_history where type=2
and id between 1000000 and 1000100 limit 100;
也可以select * from orders_history where id >= 1000001 order by id asc limit 100;
优化工具之数据库层面
检查问题常用的 12 个工具:
MySQL
mysqladmin:MySQL 客户端,可进行管理操作
mysqlshow:功能强大的查看 shell 命令
SHOW [SESSION | GLOBAL] variables:查看数据库参数信息
SHOW [SESSION | GLOBAL] STATUS:查看数据库的状态信息
information_schema:获取元数据的方法
SHOW ENGINE INNODB STATUS:Innodb 引擎的所有状态
SHOW PROCESSLIST:查看当前所有连接的 session 状态
explain:获取查询语句的执行计划
show index:查看表的索引信息
slow-log:记录慢查询语句
mysqldumpslow:分析 slowlog 文件的工具
不常用但好用的 7 个工具:
Zabbix:监控主机、系统、数据库(部署 Zabbix 监控平台)
pt-query-digest:分析慢日志
MySQL slap:分析慢日志
sysbench:压力测试工具
MySQL profiling:统计数据库整体状态工具
Performance Schema:MySQL 性能状态统计的数据
workbench:管理、备份、监控、分析、优化工具(比较费资源)——引用自作者 惨绿少年
mysql sql 1到10_(1.10)SQL优化——mysql 常见SQL优化相关推荐
- mysql+性能优化+命令_MySQL性能优化
一.优化思路 数据查询慢,不代表 SQL 语句写法有问题. 首先,我们需要找到问题的源头才能"对症下药".用一张流程图展示 MySQL 优化的思路: 从图中可以清楚地看出,导致数据 ...
- 【第10天】MYSQL进阶-表的创建、修改与删除(SQL 小虚竹)
回城传送–><100天精通MYSQL从入门到就业> 文章目录 零.前言 一.练习题目 二.SQL思路 SQL进阶-表的创建.修改与删除:SQL118 创建一张新表 初始化数据 解法 ...
- oracle sql 全是子查询查询速度太慢如何优化_如果面试官问你如何优化mysql分页查询,请把这篇文章甩给他!...
在我们日常开发中,分页查询是必不可少的,可以说每干后端程序猿大部分时间都是CURD,所以分页的查询也接触的不少,你们都是怎么实现的呢?前不久的一段时间,我的一个同事突然找我寻求帮助,他说他写的sql查 ...
- sql 取表的前10条记录,任意中间几行的记录
取表的前10条记录 with a as(select *,row_number()over(order by department)rn from _SucceedStaff ) select * f ...
- mysql ddl脚本_MySQL学习之路(1):SQL脚本语言
使用MySQL数据库,首先安装MySQL数据库,本文所有SQL脚本在MySQL上测试和执行. 安装Mysql服务器: 安装Mysql workbench客户端,可以以图形化界面管理mysql: 安装p ...
- mysql sql优化_MySQL数据库SQL语句优化原理专题(三)
需求 做过开发的同学,对分页肯定不会陌生,因为很多前台页面展示,为了更好的展示数据,就会用到分页,所以如何写一个高性能的分页SQL语句,是每一个开发人员需要掌握的技能. 分页SQL 这里给大家写一个分 ...
- mysql优化说出九条_技术分享 | MySQL 优化:为什么 SQL 走索引还那么慢?
原标题:技术分享 | MySQL 优化:为什么 SQL 走索引还那么慢? 背景 2019-01-11 9:00-10:00 一个 MySQL 数据库把 CPU 打满了. 硬件配置:256G 内存,48 ...
- mysql筛选字符个数为8的_听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(常用查询,正则表达式,运算符)...
一 . 常用查询介绍 1.创建表结构并插入内容 创建一个表 里面有id 毕业院校 家庭住址 name mysql> create table gou(id int primary key,sch ...
- mysql 创建端口号_MySQL命令行 不同端口登录 执行SQL文件 创建用户 赋予权限 修改root密码...
0.安装MySQL服务 1.[不同端口登录] 通过开始菜单-> 程序-> MySQL-> MySQL Command Line Client 通过输入密码Enter password ...
最新文章
- 用c语言运行程序的优点,C语言学习与总结---第一章:C语言概述
- 保存Delphi中的环境设置中的library path
- 深入理解 HTTPS
- python中if有几种使用方式_python 中if-else的多种简洁的写法
- 帝国cms php替换,帝国CMS内容关键字替换图片标签解决方法
- 数据结构-图的基础代码
- 《汇编语言》王爽—实验五详解
- SRM 587 Div II L3:ThreeColorabilityEasyy
- 螺栓预紧力_斯姆勒知识讲解:螺栓预紧力的计算
- Python web爬虫
- Axure9.0元件库的使用
- 团队作业8----第二次项目冲刺(Beta阶段) 第一天
- 如何用 XMind 做商业计划书?
- HTML:超文本标记语言
- 矩阵与矩阵转置的加法
- 过拟合的原因和解决方法
- 整理 刘汝佳紫书第三章习题代码 未完待续
- 2022届浙江工业大学计算机专硕考研上岸经验贴
- kettle—资源库详解
- 批量替换Scene中的Prefab