MySql 分表
比如记录用户操作日志, 这种表数据量将会很大, 那么事先创建N个表(结构一样), 表名如 log_00、log_01、log_02…目前建议采用第一种, 第二种限制较多
第一种:利用hash算法,将不同用户的操作日志分配至不同的表中,这里创建 100 张表
1 | function get_hash_table($table, $userId) |
第二种:利用 merge 存储引擎来分表(表结构需一致且子表存储引擎必须为MyISAM)
1 | CREATE TABLE `log_00` ( |
MySql 分区
1 | #1. 判断 MySql 是否支持分区, 第一条命令是 5.6 以下版本, 第二条命令是 5.6 及以上版本 |
相关例子
1 | #消息表 |