欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据库设计-维护优化

程序员文章站 2024-01-22 17:26:22
数据库设计 维护优化 数据库维护优化要做什么? 数据库维护优化要做什么? 明确表以及表中每一个字段所代表的含义。 随着数据量和查询的不断变化,需要优化索引。 随着需求的不断变化,需要对表进行扩充或裁剪 随着数据量的增大,达到表的存储瓶颈,使操作变慢,需要拆分表。 如何维护数据字典? 如何维护数据字典 ......

数据库设计

维护优化

    • 数据库维护优化要做什么?
  1. 维护数据字典
    • 明确表以及表中每一个字段所代表的含义。
  2. 维护索引
    • 随着数据量和查询的不断变化,需要优化索引。
  3. 维护表结构
    • 随着需求的不断变化,需要对表进行扩充或裁剪
  4. 水平/垂直拆分表结构
    • 随着数据量的增大,达到表的存储瓶颈,使操作变慢,需要拆分表。
    • 如何维护数据字典?
  1.   使用第三方工具对数据字典进行维护
  2. 利用数据库本身的备注字段来对数据字典进行维护,后面直接导出数据字典即可。

如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;
    • 如何维护索引?
    • 如何选择合适的列建立索引?
      1. 出现在where, group by, order by从句后的列。
      2. 可选择性高的列要放在索引的前面
      3. 索引中不要包含太长的数据类型。
    • 索引要适量,不是越多越好,大量的索引会导致操作效率降低。
    • 定期维护索引碎片
    • 在sql语句中不要强制使用索引关键字。
    • 如何维护表结构?
  1. mysql5.5之前使用在线工具pt-online-schema-change调整表结构
  2. mysql5.6自身支持在线表结构的变更。
  3. 同时对数据字典进行维护。
    • 数据库中适合的操作?
  1. 尽量使用批量操作,少用逐条操作。
  2. 尽量少用使用select * 语句。
  3. 尽量少用用户自定义函数。
  4. 谨慎使用用数据库全文索引。
    • 表的垂直拆分:减小表的宽度。
  1. 将经常查询的列放在一起,不经常查询的列单独拆成一张附表。
  2. 表中数据量不发生变化。
    • 表的水平拆分:减小表的高度。
  1. 通过主键hash的方式将一张大表拆分成n个小表。
  2. 表中各个列不发生变化。