数据库设计-维护优化
程序员文章站
2024-01-22 17:26:22
数据库设计 维护优化 数据库维护优化要做什么? 数据库维护优化要做什么? 明确表以及表中每一个字段所代表的含义。 随着数据量和查询的不断变化,需要优化索引。 随着需求的不断变化,需要对表进行扩充或裁剪 随着数据量的增大,达到表的存储瓶颈,使操作变慢,需要拆分表。 如何维护数据字典? 如何维护数据字典 ......
数据库设计
维护优化
-
- 数据库维护优化要做什么?
- 维护数据字典
- 明确表以及表中每一个字段所代表的含义。
- 维护索引
- 随着数据量和查询的不断变化,需要优化索引。
- 维护表结构
- 随着需求的不断变化,需要对表进行扩充或裁剪
- 水平/垂直拆分表结构
- 随着数据量的增大,达到表的存储瓶颈,使操作变慢,需要拆分表。
-
- 如何维护数据字典?
- 使用第三方工具对数据字典进行维护
- 利用数据库本身的备注字段来对数据字典进行维护,后面直接导出数据字典即可。
如mysql:
create table `mmall_user` ( `id` int(11) not null auto_increment comment '用户表id', `username` varchar(50) not null comment '用户名', `password` varchar(50) not null comment '用户密码,md5加密', `role` int(4) not null comment '角色0-管理员,1-普通用户', `create_time` datetime not null comment '创建时间', `update_time` datetime not null comment '最后一次更新时间', primary key (`id`), ) engine=innodb auto_increment=22 default charset=utf8;
-
- 如何维护索引?
- 如何选择合适的列建立索引?
- 出现在where, group by, order by从句后的列。
- 可选择性高的列要放在索引的前面
- 索引中不要包含太长的数据类型。
- 索引要适量,不是越多越好,大量的索引会导致操作效率降低。
- 定期维护索引碎片
- 在sql语句中不要强制使用索引关键字。
- 如何维护表结构?
- mysql5.5之前使用在线工具pt-online-schema-change调整表结构
- mysql5.6自身支持在线表结构的变更。
- 同时对数据字典进行维护。
-
- 数据库中适合的操作?
- 尽量使用批量操作,少用逐条操作。
- 尽量少用使用select * 语句。
- 尽量少用用户自定义函数。
- 谨慎使用用数据库全文索引。
-
- 表的垂直拆分:减小表的宽度。
- 将经常查询的列放在一起,不经常查询的列单独拆成一张附表。
- 表中数据量不发生变化。
-
- 表的水平拆分:减小表的高度。
- 通过主键hash的方式将一张大表拆分成n个小表。
- 表中各个列不发生变化。