数据库设计(三)之数据库维护与优化

维护与优化中要做什么

一.维护数据字典

1.使用第三方工具对数据字典进行维护

2.利用数据库本身的制备柱字段来维护数据字典

二.维护索引

如何选择合适的列建立索引

 1.出现在WHERE从句,GROUP BY从句,OREDER BY从句中的列

2.可选择性高的列要放到索引的前面

3.索引中不要包括太长的数据类型。只使用前16个字节进行索引,或者太大的字段,进行md5转换,再去进行索引

注意事项:

1.索引并不是越多越好,过多的索引不但会降低写效率,而且会降低读的效率。

每写一条记录,都要对索引进行维护,维护的成本就大。

读操作,因为SQL优化器会根据索引信息和统计信息来选择适合sql的索引。如果索引太多,SQL优化器选择索引的过程会影响效率

2.定期维护索引碎片

索引的创建和维护存在消耗,索引会占用物理空间,且随着数据量的增加而增加。

 3.在SQL语句中不要使用强制索引关键字。

由于数据量的变化原来使用的索引,可能以后就不适用。如果使用强制索引,会影响数据库效率,如果删除该索引,开发人员不知道,查询就会出错。

三.维护表结构

注意事项:

1.使用在线变更结构的工具

不同种类的触发器可以存在于同一个表,但同种类的不能有多个。

2.同时对数据字典进行维护

3、控制表的宽度和大小

数据库中适合操作

 1.批量操作VS逐条操作

数据库中适合批量操作,逐条操作适合在程序中完成

2.禁止使用select * 这样的操作

使用select * 进行所有列的查询增加IO负担,因为查询除了大量不使用的字段

3.控制使用用户自定义的函数

使用太多用户自定义的函数,可能对索引造成影响

4.不要使用数据库中的全文索引

全文索引需要建立另外的索引文件,来维护索引。而且全文索引对中文支持不太友好。如果真的很需要,建议用搜索引擎。

四.在适当的时候对表进行水平拆分或垂直拆分

1.垂直拆分

 垂直分表的场景:1.大字段,2.经常更新的字段

2.水平拆分

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值