MySQL开发规范禁用列表
1 | SELECT | 严禁select *查询,必须明确查询字段 | 禁用 | 如果表列发生变化,会使结果集变化 | ||||||||
2 | 严禁SQL关联表超过3张,关联字段数据类型必须一致,且能利用索引 | 禁用 | 超过3张表进行拆分 | |||||||||
3 | 使用子查询,将子查询改写为表连接 | 禁用 | ||||||||||
4 | 使用or,or改为union all 或者in | 禁用 | ||||||||||
5 | 使用select … for update | 禁用 | 数据行锁,容易造成死锁 | |||||||||
6 | 使用开关条件,如1=1,1=0,1>2 | 禁用 | 会导致sql解析器生成错误执行计划,并且会引起sql注入 | |||||||||
7 | 严禁SQL中进行计算或嵌套判断 | 禁用 | ||||||||||
8 | WHERE条件 | WHERE子句的表字段上使用表达式或函数 | 禁用 | 当WHERE子句的表字段使用函数后,将会导致该字段无法使用上索引,建议在字段的值域上加函数、计算或转换的表达式。 | ||||||||
9 | 传入变量类型与查询条件中字段类型不匹配 | 禁用 | ||||||||||
10 | 单表数据量大,禁止WHERE子句中使用全模糊、左模糊查询:where xx like '%xx' | 禁用 | 这个列的索引不被使用 | |||||||||
11 | 不带通配符的like语句 | 禁用 | 不带通配符like可能是错误 | |||||||||
12 | 不带where的select、update、delete | 禁用 | 不带where条件存在风险 | |||||||||
13 | 严禁负向查询条件(!=、<>、not) | 禁用 | ||||||||||
14 | in,in操作能避免就避免,避免不了评估in集合元素量,不超过100 | 禁用 | 元素量过多,效率低下 | |||||||||
15 | ORDER BY\GROUP BY | order by子句排序方式不同 | 禁用 | 排序方式不同将不会使用索引,要么按asc、要么按desc | ||||||||
16 | 在不同表上使用group by 、order by | 禁用 | 会使用临时表、文件排序,导致性能问题 | |||||||||
17 | UPDATE/DELETE | UPDATE/DELETE使用LIMIT子句 | 禁用 | 使用LIMIT子句,容易导致出现死锁和锁资源争用,还有导致主备数据不一致的风险 | ||||||||
18 | ||||||||||||
UPDATE/DELETE | 禁用 | update、delete操作必须基于高选择性索引、主键。 | ||||||||||
19 | 大字段类型 | 大字段类型 tinytext、text、mediumtext、longtext、tinyblob、blob、 | 禁用 | |||||||||
20 | DDL | 禁止脚本中drop表、字段类操作 | 禁用 | |||||||||
21 | INSERT | 不显示指定列 | 禁用 | 如果表列发生变化,会产生错误 | ||||||||
22 | LIMIT | limit子句不带order by | 禁用 | 不带order by会导致不确定结果 | ||||||||
禁止分页偏移量过大,limit 10000,10 | 禁用 | 效率低下 | ||||||||||
23 | 其他 | 函数、触发器、存储过程、视图 | 禁用 |
MySQL开发规范禁用列表相关推荐
- 一份完整的 MySQL 开发规范,进大厂必看!
一份完整的 MySQL 开发规范,进大厂必看! 作者:听风 https://www.cnblogs.com/huchong/p/10219318.html 一.数据库命令规范 1.所有数据库对象名称必 ...
- 《MySQL开发规范》过时了,视图的查询性能提升了一万倍
MySQL 8.0新特性专栏目录 <MySQL开发规范>过时了,视图查询性能提升了一万倍 你真的会用EXPLAIN么,SQL性能优化王者晋级之路 索引三剑客之降序索引和不可见索引 千呼万唤 ...
- mysql++编程规范_建议收藏 - 专业的MySQL开发规范
为了项目的稳定,代码的高效,管理的便捷,在开发团队内部会制定各种各样的规范 这里分享一份我们定义的MySQL开发规范,欢迎交流拍砖 数据库对象命名规范 数据库对象 命名规范的对象是指数据库SCHEMA ...
- [转发] 老叶观点:MySQL开发规范之我见
原文: http://imysql.com/2015/07/23/something-important-about-mysql-design-reference.shtml 老叶观点:MySQL开发 ...
- mysql pk uk ak,最重要的MySQL开发规范 全都在这了
今天,腾讯云学院来分享一篇技术文章--有关MySQL的开发规范.文章开始之前,先给大家派送一个超级福利! 腾讯云学院邀请到本文作者--"知数堂"培训联合创始人.知名MySQL专家叶 ...
- 从MySQL开发规范处看创业
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/n88Lpo/article/details/78099185 作者:唐勇.深圳市环球易购.MySQL ...
- 【daisy-framework】MySQL 开发规范
前言 Github:https://github.com/yihonglei/daisy-framework 概述 MySQL 实际开发中有很多需要遵循的规范,有助于提高程序可读性,可维护性,可扩展性 ...
- mysql开发规范最新版本_MYSQL 开发规范
数据库命名规范 所有数据库对象表名必须小写 (mybook_db) 命名要做到见名知意,不能使用mysql保留关键字 临时表 tmp_ 开头,备份表以 bak_ 开头 都以时间戳结尾 所有存储相同数据 ...
- mysql 开发规范_专业级的MySQL开发设计规范及SQL编写规范
在团队开发过程中为了项目的稳定,代码的高效,管理的便捷制定内部种开发设计规范是必不可少的, 这里分享一份我们定义MySQL开发设计规范包括表设计规范,字段设计规范,SQL编写规范 数据库对象命名规范 ...
最新文章
- Linq怎么支持Monad
- GitHub 2W 星:一键生成前后端代码
- CUBA平台正在开源
- windows server 驱动精灵_还在用Windows文件共享?我来教你一键摆脱Windows海量小文件使用和备份的噩梦...
- Linux常用命令汇总及使用方法(二)之文本编辑器VI
- webpack4+node合并资源请求, 实现combo功能(二十三)
- SQL Server2008的数据导入到SQL Server2005
- 深度学习TF—14.WGAN原理及实战
- 网络基础知识(黑马教程笔记)-4-http请求与响应的处理
- 黑客技术之初学者编程入门
- cad填充密度怎么调整_CAD填充图案放在哪里,这几步你要了解
- 假如时光倒流, 我会这么学习Java
- RK3399驱动开发 | 09 - 基于RK808 PMIC的电源管理驱动
- uvm_primer ch3 BFM笔记
- 卸载软件-Uninstall Tool(无残留)
- 红帽考试资料_冰山一角
- 2021届秋招腾讯前端一面面经
- 生成器,迭代器,装饰器
- 移除挖矿程序过程记录
- Python工具库安装
热门文章
- 从AE(Auto-encoder)到VAE(Variational Auto-Encoder)
- 使用MindStudio进行ICNet模型推理与训练
- 计算机的CPU和GPU的区别,CPU和GPU有什么区别?
- 解决跨域问题(详解9种方法)
- php中explode的是什么类型的_PHP中explode函数和split函数的区别小结
- 使用jquery中$.each()方法来循环一个数据列表
- Netty编解码及protostuff
- 微信小程序组件使用接口传值不统一的解决方案
- 大学计算机基础 百科园,李瑞海|
- 你不知道的redis三-Redis的持久化机制