• Mysql数据库常用分库和分表方式


    http://blog.csdn.net/clevercode/article/details/50877580

     

    1 分库

    1.1 按照功能分库

        按照功能进行分库。常见的分成6大库:
        1 用户类库:用于保存了用户的相关信息。例如:db_user,db_system,db_company等。
        2 业务类库:用于保存主要业务的信息。比如主要业务是笑话,用这个库保存笑话业务。例如:db_joke,db_temp_joke等。
        3 内存类库:主要用Mysql的内存引擎。前台的数据从内存库中查找,速度快。例如:heap。
        4 图片类库:主要保存图片的索引以及关联。例如:db_img_index,db_img_res。
        5 日志类库:记录点击,刷新,登录等日志信息。例如:db_log_click,db_log_fresh,db_log_login。
        6 统计类库:对业务的统计,比如点击量,刷新量等等。例如db_stat。
        

    1.2 安装城市站分库

        如果业务遍布全国,在按照功能分库库,每一个城市复制一份一模一样的库,只是库后缀都是城市名称。比如db_log_click_bj,db_log_click_tj,db_log_click_sh;
        

    2 分表

    2.1 水平分割。解决表行数过大问题

    2.1.1 按照用户或业务的编号分表

        对与用户或业务可以按照编号%n,进行分成n表。

        例如:笑话表。

       tb_joke_01,tb_joke_02,tb_joke_03,tb_joke_04........

     

    2.1.2 按照日期分表

        对于日志或统计类等的表。可以按照年,月,日,周分表。
        

      例如 点击量统计。

      tb_click_stat_201601,tb_click_stat_201602,tb_click_stat_201603  

    2.2 垂直分割。解决列过长问题。

    1)经常组合查询的列放在一张表中。常用字段的表可以考虑用Memory引擎。
    2)把不常用的字段单独放在一张表。

    3)把text,blob等大字段拆分出来放在附表中。

    3 Mysql数据库常用架构

    核心:一主多从,读写分离。
  • 相关阅读:
    MySQL——sql语句处理时间——时间、字符串、时间戳互相转换
    MySQL——sql语句处理时间——日期加减天数
    Spring Boot——jpaProperties.getHibernateProperties()的使用
    Spring Boot——SpringBoot2+JPA+druid配置多数据源
    Spring Boot——log4j日志配置案例
    git命令——git 分支操作
    windows如何删除默认打开方式
    excel导出出现弹框
    笔记
    javascript中三个等号"==="是什么意思
  • 原文地址:https://www.cnblogs.com/ruiati/p/6908826.html
Copyright © 2020-2023  润新知