本文介绍在 OceanBase 数据库 SQL 编写中关于表扫描的规范。
-
SELECT、UPDATE、DELETE、REPLACE 若有 WHERE 子句,且 WHERE 子句的条件必须使用索引进行查找(可以通过 explain 检查执行计划,是否走的索引查询)。
-
尽量避免大表的全表扫描:一般情况下,大表的大多数查询使用索引扫描比全表扫描好,但对于 100 行以下的静态表可以全表扫描。使用
EXPLAIN<sql_statement> 查看 SQL 语句的执行计划。执行计划命令有三种模式:
-
EXPLAIN BASIC 命令用于最基本的计划展示。
-
EXPLAIN EXTENDED 命令用于最详细的计划展示(通常在排查问题时使用这种展示模式)。
-
命令所展示的信息可以帮助普通用户了解整个计划的执行方式。
-
业务中大表全表扫描和全表导出(dump)推荐放在备份库或者线下读库中进行。
-
子句中禁止只使用全模糊或者左模糊的 LIKE 条件进行查找,必须有其他查询条件。
-
WHERE 子句中的索引列或组合索引前导列上不能使用函数。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026124/viewspace-2932848/
,如需转载,请注明出处,否则将追究法律责任。