1、索引,索引能有效提高查询的效率,但是在表中插入或更新数据时,将有额外的操作来维护索引,从而降低插入或更新的效率,还有索引占用存储空间,所以索引并不是越多越好,而且应尽量避免在建立了索引的数据列上进行计算,not,<>,!=,IS NULL,IS NOT NULL和使用函数的操作,索引字段 不要有null值 。
2、有时UPDATE、SELECT 语句写得很复杂(嵌套多级子查询),这时可以考虑适当拆成几步,先建立一些临时数据表,再进行关联操作。
3、避免在WHERE子句中使用in,not in,可以使用 exist 和not exist代替 。
4、尽量少使用select * from table这种方式,知道自己想要的字段的话应该写上。
5、尽量减少访问数据库的次数:不要在循环里执行语句,可以先存到变量,在循环体外一次执行。
6、用Where子句替换having子句,having子句只会在检索出所有记录之后才对结果集进行过滤。
7、对同一个表update不同字段,可以的话应该写在一条语句上。