为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第18天 --数据库设计那些事第四章维护优化

标签:
MySQL

课程名称:数据库设计那些事


课程章节:维护优化


讲师:sqlercn


课程地址:https://www.imooc.com/video/1903


课程内容:

1.状态字段的含义都记录在数据字典中,使用时要通过数据字典来查询含义,数据字典很重要

2.使用过程中,发现索引不适用,删除旧的,建立新的索引

3.由于需求变化,列的增加和减少

4.拆分表:水平和垂直


维护和优化工作索要做的事情:

1:数据字典记录表中每个列所存储的内容是什么,方便后期维护和升级,特别是一些状态字段

2:索引的维护,主要是从一个动态变化的角度来看待我们的数据和索引

3:数据表中肯能存在过时的字段,需要清理

4:当表中的数据量达到一个数量级的话,可能会影响查询的速度,此时就需要对表进行适当的拆分了


维护数据字典:

1.第三方工具:针对不同的DBMS

2.利用数据库本身的备注字段:对表和列增加备注字段,举例如图。

3.导出数据字典(很通用)但是注意:更改表备注时,只需要更改表备注,其他的一些列的属性(列的长度、宽度、是否非空)必须保持原样


数据库如何维护索引

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

    1. 出现在WHERE从句,GROUP BY从句,ORDER BY从句中的列

    2. 可选性高的列要放到索引的前面

    3. 索引中不要包括太长的数据库类型

  注意事项

    1. 索引并不是越多越好,过多的索引不但会降低写效率,而且会降低读的效率

    2. 定期维护索引碎片

    3. 在SQL 语句中不要使用强制索引关键字

维护(修改)表结构

注意事项

1、MySQL5.5之前会锁表,可使用第三方工具;5.6之后本身支持在线表结构变更

2、同时维护数据字典

3、控制表的宽度和大小

适合的操作

1、批量操作(数据库中)逐条操作(应用程序中)

2、尽量少用"select * "查询

3、控制使用用户自定义函数(使用函数,索引不起作用)

4、不要使用全文索引(中文支持不好,需要另建索引文件)


表的垂直拆分(由于需求变更,表的列增加)

1.拆分的好处:一页中行数越多I/O效率越高,但是表的宽度过大时(列很多,数据很大),一页中存储的数据会变少,I/O效率低,拆分成窄表时,提高了效率

2.拆分的原则:经常查询的列放在一起,大字段拆分到附加表


表的水平拆分就是为了控制表的大小,也就是说,把一张大表里面的数据分配到其它几张相同的表中,这样就可以减少一张表里面存储的数据。一般采用的是哈希的方式。


课程收获:

管理一个系统是对其的硬件,软件,可用性和安全负责.管理还包括跟踪并管理系统的增长情况。

    维护不只是备份数据库。这只是工作的一部分,你还需要完成一些周期性的工作以保证系统的可用性和响应速度。需要监视日志,创建容量计划,管理用户账户,以及为不可避免的紧急情况做好准备。

https://img1.sycdn.imooc.com//632c58c100017ea316110616.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消