关于MySQL数据库分表问题
最近需要做分表,搜集了一些相关资料,发现分表所带来的一系列问题(如列表显示、数据搜索),代价很高且复杂,且扩展性与后期维护性也很复杂!
搞得不敢用分表了,在想MySQL自带分区功能,为什么都不用呢,偏偏用复杂的分表问题,表示很不解。
如果按取余数来分表,以后再增加表就很麻烦,用一致性哈希算法倒是个好方法,但都面临同一个难题就是查询问题,不知道大家在实际项目中是怎么处理分表问题的?不想用MySQL自带的分表功能,它不是InnoDB的。
回复内容:
最近需要做分表,搜集了一些相关资料,发现分表所带来的一系列问题(如列表显示、数据搜索),代价很高且复杂,且扩展性与后期维护性也很复杂!
搞得不敢用分表了,在想MySQL自带分区功能,为什么都不用呢,偏偏用复杂的分表问题,表示很不解。
如果按取余数来分表,以后再增加表就很麻烦,用一致性哈希算法倒是个好方法,但都面临同一个难题就是查询问题,不知道大家在实际项目中是怎么处理分表问题的?不想用MySQL自带的分表功能,它不是InnoDB的。
菜鸟说下个人的理解哈,个人觉得这个还是要看自己具体业务的需求。比如一些历史数据或者大日志数据,这些数据如果操作性要求不高的话,可以尝试分表。之前处理呼叫中心业务,每天几百万的日志数据,就用的mysql自带的merge引擎分表,业务中主要是单做展示的用途,系统感觉运行的还OK。不过这种用法貌似现在已经不推荐了。现在用的是分区表,数据量也不算大,单表差不多快1000W的数据,性能同样ok。
应该思考一下分表的初心。
分表解决了什么问题,没有解决什么问题。
mysql自带的分表貌似最大只能分1024张表,扩展还是有局限性
上一篇: CSS定义通用透明效果_CSS/HTML
下一篇: 关于PHP语言构造器介绍_php技巧
推荐阅读
-
workerman 怎么实现mysql数据库里面的一个表一旦有新的数据的加入,就把新的数据发送到前端?
-
cmd 操作mysql数据库相关问题
-
MySQL数据库与表的最基本命令大盘点_MySQL
-
MySQL之终端Terminal(dos界面)管理数据库、数据表、数据的基本操作_MySQL
-
关于Oracle数据库迁移(跨版本)以及空表不导出
-
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
-
mysql-数据库中的关系表有什么作用 求大神解惑
-
向MySQL数据库下的某个表中插入大量数据
-
通过PHP连接MYSQL数据库、创建数据库、创建表_PHP教程
-
c#-关于C#更新mysql数据库结果异常问题,求大神帮忙