mysql-MERGE实现分表
数据库  /  管理员 发布于 5年前   629
1.创建10个分表(code_0....code_9)
CREATE TABLE `code_0` (
`full_code` char(10) NOT NULL,
`create_time` int(10) unsigned NOT NULL,
PRIMARY KEY (`full_code`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
2.创建主表code
CREATE TABLE IF NOT EXISTS `code` (
`full_code` char(10) NOT NULL,
`create_time` int(10) unsigned NOT NULL,
INDEX(full_code)
)CHARSET=utf8 ENGINE=MERGE UNION(code_1,code_2,code_3,code_4,code_5,code_6,code_7,code_8,code_9,code_10) INSERT_METHOD=LAST;
注意格式字段都要一样
效果图:
最后在说一下 插入分表数据然后怎么拿出来就要用到分表规则一般用哈希(很多方式)举例用哈希
//full_code作为主键,对full_code做hash
//return 表名
function get_hash_table($table,$code,$s=9){
$hash = sprintf("%u", crc32($code));
//echo $hash;
$hash1 = intval(fmod($hash, $s));
return $table."_".$hash1;
}
8790 2017-11-29 15:14:17 赞 (32)
8907807890
博主 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..xiaoB 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..BUG4 在
你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..博主 在
go语言+beego框架中获取get,post请求的所有参数中评论 @ t1 直接在router.go文件中配就ok..Jade 在
如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号