数据库设计之维护优化

维护和优化要做什么
1:维护数据字典
2:维护索引
3:维护表结构
4:在适当的时候对表进行水平拆分或垂直拆分

一:如何维护数据字典
1:使用第三方工具对数据字典进行维护

2:利用数据库本身的备注字段来维护数据字典
以MySQL为例:

create table customer(
   cust_id int auto_increment not null comment '自增ID',
   cust_name varchar(10) not nunll comment '客户姓名',
   primary key(cust_id)
)comment '客户表'

3:导出数据字典

 SELECT
    a.table_name,b.TABLE_COMMENT,a.COLUMN_NAME,
    a.COLUMN_TYPE,a.COLUMN_COMMENTFROM
    information_schema.COLUMNS a JOID information_schema.
    TABLES b ON a.table_schema=b.table_schema AND
    a.table_name=b.table_name
    WHERE a.table_name='customer'

二:数据库如何维护索引

如何选择合适的列建立索引?
1:出现在where从句,group by从句,order by从句的列
2:可选择性高的列要放在索引的前面
3:索引中不要包括太长的数据类型

注意事项:
1:索引并不是越多越好,过多的索引不但会降低写效率,而且会降低读的效率
2:定期维护索引碎片
3:在SQL语句中不要使用强制索引关键字

三:如何维护表结构

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

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

表的垂直拆分和水平拆分
表的垂直拆分:为了控制表的宽度可以进行表的垂直拆分。
这里写图片描述
1:经常一起查询的列放在一起
2:text,blob等大字段拆分出到附加表中

表的水平拆分:为了控制表的大小可以进行表的水平拆分
这里写图片描述
水平拆分常用方法之一,主键的hash key,取模

参考视频:http://www.imooc.com/learn/117

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值