八:MySql如何分表
2017-02-13 00:00
309 查看
当单表数据量很大的情况下一般都采用分表的设计,原则是每个表的数据尽量不要超过100W
一:针对一些时效性比较强的,比如新闻之类的,可以按照月份进行分表,因为新闻的时效性可能最多就是一个月
2:针对论坛类,这些可以针对用户或者邮箱进行分表。
需要注意的是写hash算法的时候最好选用memcache的hash实现算法,这个是目前好像比较好的。
关于如何映射,一般用一致性哈希算法,我们用的是静态哈希,比如在第二类中可以根据用户id取hash值,然后对该值进行取余,余数就是对应表,这是静态的,有很大缺陷,数据量不是太大,对表不扩容还好,扩容就会产生映射error
一:针对一些时效性比较强的,比如新闻之类的,可以按照月份进行分表,因为新闻的时效性可能最多就是一个月
2:针对论坛类,这些可以针对用户或者邮箱进行分表。
需要注意的是写hash算法的时候最好选用memcache的hash实现算法,这个是目前好像比较好的。
关于如何映射,一般用一致性哈希算法,我们用的是静态哈希,比如在第二类中可以根据用户id取hash值,然后对该值进行取余,余数就是对应表,这是静态的,有很大缺陷,数据量不是太大,对表不扩容还好,扩容就会产生映射error
相关文章推荐
- mysql如何分表mysql分表的3种方法比较优点缺点
- MySQL优化分库分表,为什么要分表,分表以后如何进行排序查询,业务如何设计?
- 如何在windows系统下安装MySQL(2)
- MySQL中文参考手册3(MySQL邮件列表及如何提问或报告错误)
- 如何使用JSP+MySQL创建留言本
- 如何把Access的数据导入到Mysql
- 如何解决 JMeter 通过 JDBC 访问 Oracle 和 MySQL 的问题 (留言中有 Test Plan 实例下载)
- 如何开启php5的mysql功能?
- 如何使用JSP+MySQL创建留言本
- 如何让window服务进程中自动加载MYSQL服务
- 如何把Access的数据导入到Mysql
- [HOW-TO] Windows平台如何编译MySQL代码
- MySQL公司CEO采访 MySQL如何从开源中获利(ZT)
- 如何才能实现MySQL的自动备份
- MySQL如何从开源中获利
- MySQL 如何对抗解密高手
- 如何在ASP中连接MySQL 数据库
- 如何安全应用mysql
- 如何在windows系统下安装MySQL(1)
- 如何翻译 MySQL 图形工具