1
Chihaya0824 2020-05-26 07:20:52 +08:00
|
2
a342191555 2020-05-26 07:21:08 +08:00 via iPhone 1
|
3
chinvo 2020-05-26 07:26:15 +08:00 via iPhone
根据 id 特征分表可以减少查询时的损耗
|
4
wushigejiajia01 2020-05-26 07:58:29 +08:00 via Android
不知道分片规则是没法准确有效查的吧?
用 union 肯定不是最优解 |
5
wushigejiajia01 2020-05-26 08:03:14 +08:00 via Android
1. 5%2=1
2. select tableB |
6
YUyu101 2020-05-26 08:06:58 +08:00 via Android
随机分散可还行,那只能 union 吧,这样分表也不能减少压力啊,除非你查出来后保存 id 是那张表,以后不要再查两遍了。
|
7
shakoon 2020-05-26 08:36:30 +08:00
已经确认全局唯一了那用 union all 。union 会做去重,效率远低于 union all
|
8
nikoo OP 并不知道随机分布规则,所以无法用例如 5%2=1 之类提前获知 id 处于哪张表
@a342191555 谢谢,这样写需要将匹配的 id 值写两遍,感觉似乎不太优雅? 如果不能提算出 id 处于哪张表,是否用 union /union all 是唯一的方案了? |
9
daozhihun 2020-05-26 12:32:50 +08:00
话说,为什么会有随机分配在两张表这种设计。。
|
10
msg7086 2020-05-26 12:34:02 +08:00 1
不能预测处于哪张表,那必定要同时查两张表拿数据,那不就是 union 么。
查两张表,你觉得值写两遍不雅,可以先放在变量里啊。 |