数据库的表名和字段名的规范
都要小写字母开头,单词间也不出现大写字母单词间下划线隔开不能出现单词的复数形式索引名规范
主键索引名为pk_xxx唯一键索引名为uk_xxx普通索引名为idx_xxx涉及金额用decimal,避免精度问题
短字符串用char(),长的再用varchar(),非常长的,比如几千个字,就用text文本
一张表的字段一定要有至少三个字段
create table test( id auto_increment unsigned bigint, create_time datetime, update_time datetime );一定要给唯一索引,不然会产生脏数据、冗余数据
实际开发中,join尽量只连接两个表,且两张表数据类型必须一致
关联查询字段也要有索引
varchar的索引要指明长度
永远记住COUNT(*)会计算null的
判空有专门的ISNULL()函数,而不是用where xxx=null,再不济也是where xxx is null
在高并发或集群项目中,不要使用外键和级联!这很重要!!!!
实际开发中不使用存储过程,因为很难调试,移植性也不好
要做删除和修改前,先查,查了看到没错再更新,这很重要!!!!
少用in操作(子查询那边)
编码格式统一全部UTF-8
使用ORM框架时候,查询语句别用select *,字段要明确表明!
解析器解析SQL的*需要时间,耗费性能返回的ResultMap配置有问题就GG有些数据不用查出来,要啥拿啥不要滥用@Transactional,会影响数据库的qps