如题。
1
realpg 2016-06-11 17:08:32 +08:00
u can try
|
2
heraldboy 2016-06-11 17:24:48 +08:00
默认喜欢自己控制局面
|
3
xinyewdz 2016-06-11 17:46:23 +08:00
我司现在用的是 mysql 的分区,省事。公司也没有人手去开发手动分表。
|
4
kslr 2016-06-11 19:38:39 +08:00 via Android
在高性能 mysql 第 7 章分区表中有分析
|
5
Sunyanzi 2016-06-11 19:52:08 +08:00 1
事实上在大多数应用中我会更推荐使用分区而不是分表 ... 除非大型应用我会在分区的基础上再分表 ...
具体就不展开说了 ... 太麻烦 ... 知道上面结论就行 ... 以及如果你想知道分区有什么不好的话 ... RTFM ... https://dev.mysql.com/doc/refman/5.7/en/partitioning-limitations.html |
6
realpg 2016-06-12 10:23:00 +08:00
分区不包治百病
很多时候要根据逻辑去多重条件分表,以防止不合适的锁降低性能 分区只适应一些简单情况。 |
7
joshyu8 2016-06-12 10:57:43 +08:00
现在应该很少有人分表,
压力大了就直接分库 |
11
joshyu8 2016-06-12 13:29:34 +08:00
@tanteng 我是用 Python 的,从 django 有 2 个开源的水平扩展的库,早期有使用分表的,后面都改成了分区。而 Django 官方只提供了分库的功能,水平分库是可能解决单表过大的问题
|
12
joshyu8 2016-06-12 13:33:11 +08:00
《高性能 MySQL 》那本书里面也有提到 分表 的管理混乱问题,所以也是推荐分区。只是分区的后,要让 coder 知道分区的存在,不然查询不当会造成 扫描所有分区。
|
13
realpg 2016-06-12 17:38:47 +08:00
@tanteng
检索慢跟单张表的大小没有确定的联系。 检索条件,索引,模糊检索设计都有影响 分区只能解决有限的几种检索慢的问题 分表是完全自定义的自己掌控的,结合索引,目标检索分布,一个设计充分的分表方式能百倍的降低数据库负载 |
14
surfire91 2016-06-12 18:37:00 +08:00
分区和分表都是同一个时代的产物,原理其实也差不多。
MYSQL 分区在操作上更简便,倒是有一定局限性。 分表的灵活性大,但是操作较分区更繁琐。 |
15
wweir 2016-06-19 05:55:40 +08:00 via Android
如果你的压力瓶颈不是磁盘 IO ,那分区就没有意义。
分库分表之后可以方便的实现其它方案来解决这些压力 |