› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
tanteng
V2EX  ›  MySQL

既然 MySQL 可以分区,那为什么很多时候我们还是手动分表呢?

  •  
  •   tanteng ·
    tanteng · Jun 11, 2016 · 6467 views
    This topic created in 3758 days ago, the information mentioned may be changed or developed.

    如题。

    Supplement 1  ·  Jun 11, 2016
    这一定也是因为 MySQL 分区有不好的原因,常见的都是把数据库进行分表,而不是在 MySQL 层面进行分区,谁仔细讲解下。
    15 replies  •  2016-06-19 05:55:40 +08:00
    realpg
        1
    realpg  
       Jun 11, 2016
    u can try
    heraldboy
        2
    heraldboy  
       Jun 11, 2016
    默认喜欢自己控制局面
    xinyewdz
        3
    xinyewdz  
       Jun 11, 2016
    我司现在用的是 mysql 的分区,省事。公司也没有人手去开发手动分表。
    kslr
        4
    kslr  
       Jun 11, 2016 via Android
    在高性能 mysql 第 7 章分区表中有分析
    Sunyanzi
        5
    Sunyanzi  
       Jun 11, 2016   ❤️ 1
    事实上在大多数应用中我会更推荐使用分区而不是分表 ... 除非大型应用我会在分区的基础上再分表 ...

    具体就不展开说了 ... 太麻烦 ... 知道上面结论就行 ... 以及如果你想知道分区有什么不好的话 ... RTFM ...

    https://dev.mysql.com/doc/refman/5.7/en/partitioning-limitations.html
    realpg
        6
    realpg  
       Jun 12, 2016
    分区不包治百病
    很多时候要根据逻辑去多重条件分表,以防止不合适的锁降低性能
    分区只适应一些简单情况。
    joshyu8
        7
    joshyu8  
       Jun 12, 2016
    现在应该很少有人分表,
    压力大了就直接分库
    tanteng
        8
    tanteng  
    OP
       Jun 12, 2016
    @joshyu8 分库不能解决单张表大的问题啊,还是要分表
    realpg
        9
    realpg  
       Jun 12, 2016
    @tanteng
    单张表大并不是什么问题
    检索速度慢 以及锁才是问题


    @joshyu8
    无语
    tanteng
        10
    tanteng  
    OP
       Jun 12, 2016
    @realpg 就是因为单张表大检索慢所以才分表啊,但为什么都是分表,而不是分区,分区不好吗,好像更方便一点啊
    joshyu8
        11
    joshyu8  
       Jun 12, 2016
    @tanteng 我是用 Python 的,从 django 有 2 个开源的水平扩展的库,早期有使用分表的,后面都改成了分区。而 Django 官方只提供了分库的功能,水平分库是可能解决单表过大的问题
    joshyu8
        12
    joshyu8  
       Jun 12, 2016
    《高性能 MySQL 》那本书里面也有提到 分表 的管理混乱问题,所以也是推荐分区。只是分区的后,要让 coder 知道分区的存在,不然查询不当会造成 扫描所有分区。
    realpg
        13
    realpg  
       Jun 12, 2016
    @tanteng
    检索慢跟单张表的大小没有确定的联系。
    检索条件,索引,模糊检索设计都有影响

    分区只能解决有限的几种检索慢的问题

    分表是完全自定义的自己掌控的,结合索引,目标检索分布,一个设计充分的分表方式能百倍的降低数据库负载
    surfire91
        14
    surfire91  
       Jun 12, 2016
    分区和分表都是同一个时代的产物,原理其实也差不多。
    MYSQL 分区在操作上更简便,倒是有一定局限性。 分表的灵活性大,但是操作较分区更繁琐。
    wweir
        15
    wweir  
       Jun 19, 2016 via Android
    如果你的压力瓶颈不是磁盘 IO ,那分区就没有意义。
    分库分表之后可以方便的实现其它方案来解决这些压力
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2725 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 13:50 · PVG 21:50 · LAX 06:50 · JFK 09:50
    ♥ Do have faith in what you're doing.