sql优化常用的几种方法是什么?

索引优化很重要。
全表扫描是最慢的。
首先对 WHERE 和 ORDER BY 列建立索引。
但不要添加太多,不要超过6 个。
冗余索引会减慢增删改查速度。

无效条件判断需要更改。
不要使用 IS NULL。
默认值解决了很多问题。
!= 这非常令人困惑。
OR 连接条件也很慢。
请改用 UNION ALL。

IN 和 NOT IN 应谨慎使用。
当子查询较大时,扫描全表。
对连续数字使用 BETWEEN。
对于不连续的数字,请使用 EXISTS 而不是 IN。

表达式和函数运算是最忌讳的。
WHERE 中没有算术或函数。
num/2 =1 00 需要更改。
子串也很慢。
相当于喜欢。

数据类型和表结构影响很大。
数字比字符串更快。
使用 TINYINT 表示性别。
CHAR有固定长度,VARCHAR节省空间。

其他注意事项:不要使用 SELECT。
指定字段。
谨慎使用临时表。
把大事分解成小事。
当数据量很大的时候,就看需求了。
游标不应超过 1 0,000 行。

看看这几点,哪一点最让你头疼?

程序员必看:10分钟带你掌握15种优化慢SQL方式!讲的最通透的一次

嘿程序员们,你们是否经常遇到SQL运行缓慢的情况?别着急,今天我就给大家带来一些有用的信息。
在 1 0 分钟内,我将向您展示如何掌握优化慢 SQL 的 1 5 种方法。

首先,优化慢SQL,必须从两个方面入手,一是SQL语句本身,二是数据库设计层面。

1 .优化SQL语句本身
1 .避免不必要的列查询:例如,不要总是使用SELECT,直接指定你想要的列,像这样:SELECT cot1 , cot2 FROM table_name。

2 分页优化策略:先查主键ID,再链接根表,这样可以减少扫描的数据量。

3 使用合理的覆盖索引:比如要查字段A和字段B,可以建立(A,B)的通用索引。

4 避免使用 OR 查询:使用 UNION 或 IN 代替。

5 避免使用不等运算符:例如不要使用ID!=,可以将其重写为ID>或ID<。

6 适当使用前缀索引:但要注意,如果唯一性率低于9 5 %则不要使用前缀索引。

7 避免在列上使用函数运算:例如,不要在列上计算表达式。
MySQL8 .0支持函数式索引,可以直接构建。

8 全局索引的正确使用:查询必须包含最左边的列,但有时当二级索引树包含全表数据时,即使不包含最左边的列,也可以使用全局索引。

9 优化子查询:尝试使用连接查询而不是子查询。

1 0 “小表控制大表”原则:进行相关查询时,以小表作为对照。

2 数据库设计层面的优化
1 .充分利用冗余字段:通过添加冗余字段来减少表连接。

2 限制连接多块板:连接板的数量不能太多。
您可以考虑添加冗余字段或创建新表。

3 排序优化:创建既能容纳排序又能容纳查询的复合索引。

4 UNION操作的优化策略:如果不需要去重,则使用UNIONALL。

5 优化索引设计:综合考虑查询条件、排序字段、选择性等因素。

好的,这是我总结的 1 5 种优化慢 SQL 的方法。
我希望它能帮助你。
说实话,当时我不太明白。
我一步一步想通了。
不过这些方法都是经过实践检验的,你可以尝试一下。