当前位置:网站首页>SQL优化问题的简述
SQL优化问题的简述
2022-07-06 10:13:00 【面向鸿蒙编程】
SQL优化的7个方面
- 创建索引
- 避免索引失效
- 锁粒度(行锁还是表锁)
- 分页查询优化
- 避免查询所有字段
- 分析SQL的执行计划
- show profile 分析SQL的执行性能
创建索引
- 禁止给表中的每一列都建立单独的索引
- 每个Innodb表必须有一个主键
- 要注意组合索引的字段顺序
- 优先考虑覆盖索引
- 避免使用外键约束
避免索引失效(失效场景)
- 以%开头的LIKE查询
- 在索引列上的操作,函数upper()等,or、!=、<>、not in等等
- 创建了组合索引,但是查询条件不满足“最左匹配”原则
- 查询条件中使用or,且or的前后条件中有一个列没有索引,则其中涉及的索引就都不会被使用
锁粒度(行锁 还是 表锁)
- MySQL 的存储引擎分为两大类: MyISAM 和 InnoDB
- MyISAM 支持只表锁
- InnoDB 支持行锁和表锁
- 更新操作时,为了保证表数据的准确性,通常会加锁,为了提高系统的高并发能力,我们通常建议采用行锁,减少锁冲突、锁等待的时间。所以,存储引擎通常会选择 InnoDB
分页查询优化
避免查询所有字段
分析SQL的执行计划
show profile 分析SQL的执行性能
后续会逐渐完善...此章节先打个点
边栏推荐
- 《ASP.NET Core 6框架揭秘》样章发布[200页/5章]
- Jielizhi obtains the customized background information corresponding to the specified dial [chapter]
- UDP协议:因性善而简单,难免碰到“城会玩”
- It doesn't make sense without a distributed gateway
- Codeforces Round #803 (Div. 2)
- J'aimerais dire quelques mots de plus sur ce problème de communication...
- QT中Model-View-Delegate委托代理机制用法介绍
- The easycvr platform reports an error "ID cannot be empty" through the interface editing channel. What is the reason?
- 2019阿里集群数据集使用总结
- C language exchanges two numbers through pointers
猜你喜欢
随机推荐
Jerry's setting currently uses the dial. Switch the dial through this function [chapter]
Getting started with pytest ----- test case rules
Four processes of program operation
ADB common commands
Easy introduction to SQL (1): addition, deletion, modification and simple query
D binding function
Transfer data to event object in wechat applet
In terms of byte measurement with an annual salary of 30W, automated testing can be learned in this way
Olivetin can safely run shell commands on Web pages (Part 1)
Distill knowledge from the interaction model! China University of science and Technology & meituan proposed virt, which combines the efficiency of the two tower model and the performance of the intera
Insert dial file of Jerry's watch [chapter]
面试突击62:group by 有哪些注意事项?
The difference between parallelism and concurrency
UDP协议:因性善而简单,难免碰到“城会玩”
UDP protocol: simple because of good nature, it is inevitable to encounter "city can play"
递归的方式
This article discusses the memory layout of objects in the JVM, as well as the principle and application of memory alignment and compression pointer
78 岁华科教授逐梦 40 载,国产数据库达梦冲刺 IPO
FMT开源自驾仪 | FMT中间件:一种高实时的分布式日志模块Mlog
It doesn't make sense without a distributed gateway