php mysql分表后如何查询_MySQL分表后,怎么查询所有表中的记录?

当MySQL表被分成多个分表后,查询特定条件的数据(如type = 1)可以使用MySQL的MERGE存储引擎,或者通过UNION操作合并查询结果。如果分表数量较大,可以考虑数据库分区、视图、中间件支持或应用层处理。同时,文章讨论了分库分表的场景,并建议根据数据量和查询需求选择合适的分库分表策略,如使用搜索引擎服务。
摘要由CSDN通过智能技术生成

抛开性能等问题,一张表分成N张表后,如何查询所有分表 type = 1 的数据?

(一张用户表,分成10张表后,我想取所有用户 type = 1 的数据)

回复内容:

抛开性能等问题,一张表分成N张表后,如何查询所有分表 type = 1 的数据?

(一张用户表,分成10张表后,我想取所有用户 type = 1 的数据)

MySQL有一个MERGE存储引擎是专门做这个事情的,借这篇博文了解:Mysql MERGE引擎分表

(SELECT xx FROM table1 WHERE type=1) union

(SELECT xx FROM table1 WHERE type=1) union

(SELECT xx FROM table1 WHERE type=1) union

(SELECT xx FROM table1 WHERE type=1)

如果你需要二次提取

要么自己写程序从上面的union结果集里提取

要么子查询

SELECT xxx FROM (

(SELECT xx FROM table1 WHERE type=1) union

(SELECT xx FROM table1 WHERE type=1) union

(SELECT xx FROM table1 WHERE type=1) union

(SELECT xx FROM table1 WHERE type=1)

) t WHERE t.xxx....

不过, 我上面写的那些你可以不用看, 现在一些通用程序使用分表是因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值