数据库优化

本文整理自以下链接,https://blog.csdn.net/u013628152/article/details/82184809

数据库优化可以从硬件、系统配置、数据表结构,SQL语句和索引四个方面优化。

优化Sql、索引以及数据表结构是成本最低且效果最好的方案,数据库的优化做到能够满足当前需求即可,不建议花大量时间过度优化。

优化方向:

首先根据需求写出结构合理的Sql,根据sql在表中建立有效的索引。但是如果索引过多,不仅会影响写入效率,对查询操作也会有一些影响。

设计数据库要遵循三大范式

字段设计时:varchar的长度只提供需要的长度

单表中不建议有太多的字段,20以内最好

使用枚举或数字代替字符串类型

 

A:尽量少用(或者不用)sqlserver 自带的函数
select id from t where substring(name,1,3) = ’abc’
select id from t where datediff(day,createdate,’2005-11-30′) = 0
可以这样查询:
select id from t where name like ‘abc%’
select id from t where createdate >= ‘2005-11-30’ and createdate < ‘2005-12-1’

B:连续数值条件,用BETWEEN不用IN:SELECT id FROM t WHERE num BETWEEN 1 AND 5
C:Update 语句,如果只更改1、2个字段,不要Update全部字段,否则频繁调用会引起明显的性能消耗
D:尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型
E:不建议使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。尽量避免向客户 端返回大数据量,若数据量过大,应该考虑相应需求是否合理
F:表与表之间通过一个冗余字段来关联,要比直接使用JOIN有更好的性能
G:select count(*) from table;这样不带任何条件的count会引起全表扫描

posted @ 2019-12-23 10:59  XieXiyu  阅读(115)  评论(0编辑  收藏  举报