Mysql优化 ----之 没写完
2021/9/10 19:05:10
本文主要是介绍Mysql优化 ----之 没写完,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MYSQL优化
在哪个阶段需要优化SQL?&&为什么会需要优化SQL呢?
在项目开发阶段 开发人员只需要把功能实现 测试 上线 上线之后 随着数据量的增加(数据量大了) 你会发现有些页面加载的时候会很慢这就是sql查询的时候变慢了 需要优化sql查询语句
为什么需要优化SQL这个问题 好像是傻*问题 PS:嘻嘻嘻嘻嘻
– 自己观察就好了 不想打字了 不好意思爸爸们
show status like 'com_______'; -- 查询你本次打开数据crud次数 show global status like 'com_______'; -- 查询数据库从出生到现在crud次数 show global status like 'Innodb_rows_%'; -- show processlist; EXPLAIN 跟sql EXPLAIN select * from user ; SELECT @@have_profiling; show profiles; -- 查看刚刚sql 耗时 show profile for QUERY 150; -- 150 是上句查询出来的编号
索引失效的情况
索引类型需要转换的时候 eg: 索引本来是 int 你条件查询的时候 带引号给它转成了varchar 。 或者反过来了 a 是 int 索引 select * from user where a = 1; -- 索引生效 select * from user where a = '1'; -- 索引生效个卵子 反过来也是 a 是 varchat 可以自己试试
like 以“%” 开头的情况 eg: select * from user where name like ‘%豪’
or 当or左右查询字段只有一个是索引,索引失效,只有当or左右查询字段都有索引时,才会生效 eg :爸爸按照儿子说的 试一下就知道了
组合索引 eg: 组合索引的字段是 a,b,c 查询的时候 条件有c的时候 必须带上 a,b字段 条件有b的时候 必须带上 a字段 试试?
is null 索引生效 is not null 索引生效个鸡儿 eg: a 有索引 select * from user where a is null; -- 生效 select * from user where a is not null; -- 生效? 我也想它生效 一般情况下是这样的 我看网上的有文章 有别的说话,可以Google Baidu
左右连接的字段,编码不一样可能导致索引失效 有运算操作 列使用了mysql内置函数 mysql优化器觉得全表扫描比使用索引快:数据量少的时候 使用了 !=、<>
这篇关于Mysql优化 ----之 没写完的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程