水平拆分

用户id的最后4位数:8065

确定库:
用户id的后4位数,取32的模(取模就是除以这个数后,余多少)。余下的数,是0-31之间。
这样可以表示从0-31之间,总共32个数字。用这个32个数字代表着32个库名称:order_db_0、order_db_2.........................order_db_31
SELECT MOD(8065,32) AS aa FROM dual;

确定表:
用户id的最后4位数,除以32,向下取整数。将整数除以32,得到余数,能够表示从0-31之间32个数字,表示表名称。
SELECT mod( floor(8065/32),32) AS aa FROM dual;

解决根据订单查询:
用户id和订单号的索引关系表

猜你喜欢

转载自blog.csdn.net/challengertgj/article/details/81628903