1:insert语句要列出具体的字段名称,严禁使用insert into tablename values (...)的方法 ,应该使用insert into tablename(...) values (...)方式,防止表的结果修改导致执行报错。
2:SQL查询中,尽量不要使用is null 的条件作为获取数据的条件(有其他条件的情况下可以使用is null 过滤结果,因为null是不会建立索引的,使用null作为查询条件无法使用索引,可以用其他特殊值代替null。
3:所有的外键上都必须建立索引,若没有对外键建立索引,则对父表delete操作或者update关联父表的键值操作的时候,会对子表产生全表独占锁,引发性能问题。
4:索引列上不可以使用函数或者表达式,优化器会进行全表扫描
5:使用union all替换union对多个结果集数据做并集操作且无需去重时候,使用union all 而不是union ,因为union会对结果集排序,去重,占用大量的资源。