1、表关联问题 最好不要关联3个以上的表格 例子:
工资表 a 公积金表 b 医保表 c
如果工资表中 a 存在职工号12365,而b表中没有12365数据
如果关联条件为 a. 工号=b. 工号(+) 则会出错,关联后
缺少工号为12965记录,因为B 表没有该条记录
最好用union all 把数据放到一起。
2、 使用表中字段分组时最好,使用英文编码数据,如果使用中文数据容易出错 例如用姓名分组,容易出错,因为有可能同名
3、多表关联时 为了数据的正确性应该加外连接,如果是两个字段的关联 ,则需要都加外关联,否则会少记录。
当多表关联时,由于每个表数据不一致,必须选择一个表做为标准,并使用外连接。
4、当视图层次非常多,速度比较慢时可以使用把视图中的数据放在中间表里
5、为了优化sql语句,尽量少使用模糊查询。
6当涉及计算金钱等数值型数据求和时,必须要进行非空判断,否则容易出现错误。
7、序列的作用可以通过定义序列来生成一个表的主键。
8、Update 的子查询的数据源最好是表而不是视图,因为表的速度要比视图快很多。
9、当写触发器的时候 ,出现表层触发器不允许的情况时,
原因为表级触发器不允许使用new old。
转载于:https://blog.51cto.com/10975663/2068675