zoukankan      html  css  js  c++  java
  • 《Mysql

    一:分区/分表 为了什么?

      - 当MySQL单表数据量过大时,数据库的访问速度会下降,需要处理大量数据,所以需要把数据分散存储

      - 常用 "水平" 切分

    二:MySQL常见的水平切分方案有哪些?

      - 分库分表

      - 分区表

    三:分库分表?

      - 把一个很大的库(表)的数据分到几个库(表)中,每个库(表)的结构都相同,但他们可以分布在不同的MySQL实例,甚至不同的物理机器上,以达到降低单库(表)数据量提高读写性的目的。

      - 分库分表往往是业务层实施的,分库分表后,往往需要升级系统:

        - 修改某些SQL代码。

        - 丧失某些SQL功能。

    四:什么是分区表(不常用)?

      - 所有数据,逻辑上还在一个表中,但物理上,可以根据一定的规则放在不同的文件中。这是MySQL5.1之后支持的功能,业务代码无需改动。

      - 在 高并发/大流量 的场景下,分区表的一些缺点,是难以接受的

        - 如果SQL不走分区键,很容易出现全表锁

        - 在分区表实施关联查询,就是一个灾难。

        - 分库分表,自己掌控业务场景与访问模式,可控。分区表,工程师写了一个SQL,自己无法确定MySQL是怎么玩的,不可控

          - 类似于,不要把业务逻辑实现在存储过程,用户自定义函数,触发器里,而要实现在业务代码里一样。

        - DBA给OP埋坑,容易大打出手,造成同事矛盾

  • 相关阅读:
    P3 创建项目(下)
    P2 创建项目(中)
    P1 创建项目(上)
    ASP.NET Core 3.x 入门视频(完结)
    网易云微专业《职场人必学的Python技能课》
    01.Python配置与运行
    阶段一-03.地址,订单,支付,定时任务开发-第1章 收货地址功能开发-1-6 收货地址
    ASYNC PROGRAMING IN JAVASCRIPT[转]
    Bluebird-NodeJs的Promise
    理解Nodejs的Event Loop
  • 原文地址:https://www.cnblogs.com/25-lH/p/10470439.html
Copyright © 2011-2022 走看看