SQL编写规范
SQL编写规范(1分钟上手)
SQL编写规范
-
尽量避免使用select ,join语句使用select 可能导致只需要访问索引即可完成的查询需要回表取数
-
严禁使用select * from table而不加任何where条件
-
MySQL中的text类型字段存储的时候不是和由其他普通字段类型的字段组成的记录存放在一起,而且读取效率本身也不如普通字段块。如果不需要取回text字段,又使用了select *,会让完成相同功能的sql所消耗的io量大很多,而且增加部分的io效率也更低下
-
在取出字段上可以使用相关函数,但应尽可能避免出现now(),rand(),sysdate(),current_user()等不确定结果的函数,在Where条件中的过滤条件字段上严禁使用任何函数,包括数据类型转换函数
-
所有连接的SQL必须使用Join … On …方式进行连接,而不允许直接通过普通的Where条件关联方式。外连接的SQL语句,可以使用Left Join On的Join方式,且所有外连接一律写成Left Join,而不要使用Right Join
-
分页查询语句全部都需要带有排序条件,除非应用方明确要求不要使用任何排序来随机展示数据
-
WHERE条件中严禁在索引列上进行数学运算或函数运算
-
用in()/union替换or,并注意in的个数小于300
-
严禁使用%前缀进行模糊前缀查询:如:select id,val from table where val like ‘%name’;可以使用%模糊后缀查询如:select id,val from table where val like ‘name%’
-
严禁使用INSERT ON DUPLICATE KEY UPDATE、REPLACE INTO、INSERT IGNORE
收录于合集 #mysql
12个上一篇MySQL 数据库软优化看这一篇就够了下一篇flink 入门实操demo 篇
数码百科
写下你的留言