8 MySQL优化概述

对MySQl优化时一个综合性技术,主要包括

  • a: 表的设计合理化(符合 3NF)
  • b: 添加适当的索引(index).
      四种索引: 普通索引  主键索引  唯一索引(unique)  全文索引
    
  • c: 分表技术:
      两种分表: 水平分割,垂直分割
    
  • d: 读写[写:update,delete,insert]分离
  • e: 存储过程 (模块化编程,可提高速度)
  • f: 对MySQl配置优化(1: 配置最大并发数 my.ini中的max_connections=100 2: 调整缓存大小)
  • g: MySQL硬件升级
  • h: 定时去清楚不需要的数据,定时进行碎片整理(MyISAM)

数据库的分类

  • 关系型数据库: mysql/oracle/db2/informix/sysbase/sql server
  • 非关系型数据库: (特点: 面向对象或者集合)
  • NoSql数据库: MongoDB(特点是面向文档)

表的设计合理化(符合 3NF)

  • 什么样的表才是符合3NF (范式)

    表的范式,是首先符合1NF, 才能满足2NF , 进一步满足3NF

  • 1NF:

    即表的列的具有原子性,不可再分解,即列的信息,不能分解,
    只有数据库是关系型数据库(mysql/oracle/db2/informix/sysbase/sql server),就自动的满足1NF

  • 2NF:

    表中的记录是唯一的, 就满足2NF, 通常我们设计一个主键来实现

  • 3NF:

    即表中不要有冗余数据, 就是说,表的信息,如果能够被推导出来,就不应该单独的设计一个字段来存放.


    反3NF
3NF
  • 反3NF :

    但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。
    具体做法是: 在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。

    eg:查询一个相册中所有照片被点击的次数,可通过每个照片被点击的次数推导出来,但是通常会设计一个字段记录所有的点击数,这就是反3NF

反3NF
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容