今天开始学习Mysql优化技术

    随着工做的深刻,愈发以为数据库优化方面知识方面的重要性,因而下载了韩顺平的Mysql优化技术的视频,这里全当课后笔记,里面可能会穿插一些本身的工做经验(感谢韩老师)mysql

    Mysql优化不是一种动做,而是全套动做,包括 :sql

    1.表的设计合理化数据库

    2.添加适当的索引缓存

    3.分表技术(水平分表,垂直分表)并发

    4.读写分离技术ide

    5.对经常使用的sql语句使用存储过程(免去了dbms对sql的编译过程,可是下降了可移植性)学习

    6.修改mysql配置(my.ini),好比mysql最大并发量,缓存之类的配置优化

    7.碎片整理,定时清除无用数据spa

    7.硬件升级设计

   

  表的设计通常听从3NF

     第一范式:1NF是对属性的原子性约束,要求属性(列)具备原子性,不可再分解;(只要是关系型数  据库都知足1NF),大意就是某字段里面的值,已经能完整的表达这个字段的意思了,不须要在分解成    多个字段去组合表达,好比某会员表有个字段是表示住址address,能够填写为“中国武汉市南湖      区XXX街XXX号”,这已是一个完整的地址,不须要再把address字段分解
    第二范式:2NF是对记录的唯一性约束,要求记录有唯一标识,即实体的唯一性。通常我们设计表,  第一个字段就是自增的ID,因此这个惟一性很好知足 
    第三范式:3NF是对字段冗余性的约束,它要求字段没有冗余。什么是冗余,举例好比有班级表,里面有class_id,class_name,和所属年级department三个字段, 学生表里面有st_id,st_name,class_id,经过学生表的class_id就能在班级表里获取到对应的年级department,就没必要要再在学生表里增长一个department字段(固然,有时候实际开发中这么设计反而会提升效率,有时候咱们为了提升运行效率,就必须下降范式标准,适当保留冗余数据,这个在实际开发中有时会有这种感受:与其每次拿一条完整的数据都得查另一张表的字段,还不如直接把字段整合在一张表里面。这个要看具体状况)


   后面会跟进学习

相关文章
相关标签/搜索