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

眉间皱痕 提交于 2020-01-27 02:03:39

维护与优化中要做什么

一.维护数据字典

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.垂直拆分

2.水平拆分

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!