数据库设计那些事——第4章 维护优化

4-1 数据库维护和优化要做什么

  1. 维护数据字典
  2. 维护索引
  3. 维护表结构
  4. 在适当的时候对表进行水平拆分或垂直拆分

4-2 如何维护数据字典

  1. 使用第三方工具对数据字典进行维护
  2. 利用数据库本身的备注字段来维护数据字典。以MySQL为例
    CREATE TABLE customer(
    cust_id INT AUTO_INCREMENT NOT NULL COMMENT '自增ID', cust_name VARCHAR(10) NOT NULL COMMENT '客户姓名', PRIMARY KEY(cust_id) ) COMMENT ''客户表'
  3. 导出数据字典
    SELECT TABLE_CATALOG, TABLE_SCHEMA as 数据库名, TABLE_NAME as 表名, COLUMN_NAME as 字段名, ORDINAL_POSITION as 字段位置, COLUMN_DEFAULT as 字段默认值, IS_NULLABLE 是否允许空值, DATA_TYPE as 数据类型, CHARACTER_MAXIMUM_LENGTH as 以字符为单位的最大长度, CHARACTER_OCTET_LENGTH as 以字节为单位的最大长度, NUMERIC_PRECISION as 数值类型的长度, NUMERIC_SCALE as 小数点精度, DATETIME_PRECISION as 回的日期时间值的精度, CHARACTER_SET_NAME as 编码方式, COLLATION_NAME as 校对集, COLUMN_TYPE as 字段类型, COLUMN_KEY as 键, EXTRA as 额外的信息例如自动递增在这里显示, PRIVILEGES as 权限, COLUMN_COMMENT as 字段注释, GENERATION_EXPRESSION FROM     information_schema. COLUMNS WHERE     TABLE_SCHEMA = 'Testplatform'

4-3 数据库如何维护索引

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

  1. 出现在WHERE从句,GOURP BY从句,ORDER BY从句的列
  2. 可选择性高的列要放到索引的前面
  3. 索引中不要包括太长的数据类型
    注意事项
  4. 索引并不是越多越好,过多的索引不但会降低写效率而且会降低读的效率
  5. 定期维护索引碎片
  6. 在SQL语句中不要使用强制索引关键字

4-4 数据库中适合的操作

如何维护表结构

注意事项

  1. 使用在线变更表结构的工具
    MySQL5.5之前可以使用pt-online-schema-change
    MySQL5.6之后本身支持在线表结构的变更
  2. 同时对数据字典进行维护
  3. 控制表的宽度和大小

数据库中适合的操作

  1. 批量操作 VS 逐条操作
  2. 禁止使用Select * 这样的查询
  3. 控制使用用户自定义函数
  4. 不要使用数据库中的全文索引

4-5 数据库垂直和水平拆分

表的垂直拆分

BhpzjK.png

表的水平拆分

Bh9pnO.png
Bh99BD.png

慕课 数据库设计那些事 视频

posted @ 2020-12-22 21:02  sgalcheung  阅读(194)  评论(0)    收藏  举报