› 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 · Jun 11, 2016 · 6684 views
    This topic created in 3806 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
    realpg
    Jun 11, 2016
    1
    u can try
    heraldboy
    heraldboy
    Jun 11, 2016
    2
    默认喜欢自己控制局面
    xinyewdz
    xinyewdz
    Jun 11, 2016
    3
    我司现在用的是 mysql 的分区,省事。公司也没有人手去开发手动分表。
    kslr
    kslr
    Jun 11, 2016 via Android
    4
    在高性能 mysql 第 7 章分区表中有分析
    Sunyanzi
    Sunyanzi
    Jun 11, 2016❤️1
    5
    事实上在大多数应用中我会更推荐使用分区而不是分表 ... 除非大型应用我会在分区的基础上再分表 ...

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

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


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

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

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