对于数据库的优化方式,应该避免数据库进行全盘扫描,需要注意以下几点:
1.应考虑在where及order by涉及的列上建立索引
2.应尽量避免在where字句中对字段进行null值判断
3.应尽量避免在where字句中使用!=或><运算符
4.应尽量避免在where字句中使用or来链接条件
5.In 和not in 也要少用,能用between and不用in
6.Like也会导致全盘扫描
7.应尽量避免在where字句中对字段进行表达式操作
8.应尽量避免在where字句中对字段进行函数操作
9.Update 语句,如果只更改1、2个字段,不要Update全部字段,否则频繁调用会引起明显的性能消耗,同时带来大量日志
10.select count(*) from table;这样不带任何条件的count会引起全表扫描,并且没有任何业务意义,是一定要杜绝的。
11.若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连 接时会逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了
12.尽可能的使用 varchar/nvarchar 代替 char/nchar ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。
13.任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。