mysql多表查询
问题描述
问题解答
回答1:最好存储的时候根据name有个路由规则到这十个表中,如果是多维度查询推荐使用es
回答2:比较蠢的方法是这样:
SELECT ’table_0’, id FROM table_0 WHERE name = ?UNIONSELECT ’table_1’, id FROM table_1 WHERE name = ?UNION...SELECT ’table_9’, id FROM table_9 WHERE name = ?
然而不蠢的方法我还没想到
回答3:我想到的查询语句是这样的:select * from (select id,name,’table0’ as t from table_0 union all select id,name,’table1’ as t from table_1 union all select id,name,’table2’ as t from table_2 ......) as t where t.name = ?
回答4:从功能设计来讲,拆表后一般不需要考虑数据是从哪一张表获取的,因为在哪一张表完全是系统内部的事情,对业务来讲没有意义。
depress说的查询方法是可行的,或者是在表内部一个标识字段能说明是哪一张表。
比较理想的办法是表拆分和ID和一定的规律,拿到ID后可以直接判断属于哪一张表,也省去了做UNION查询的麻烦。如按照ID大小,每一百万是一张表,这样拿到ID可以直接判断出属于哪一张表。
相关文章:
1. 哪位大神知道MySql怎么修改多行多列的数据?求指点2. mysql - thinkphp5 在MAC电脑本地正常,部署LINUX服务器之后,模型不存在3. python - xpath中如何使用变量4. APP上传到电脑服务器,出现数据上传不完整的问题5. 这是什么情况???6. 就一台服务器,mysql数据库想实现自动备份,如何设计?7. mysql服务无法启动1067错误,谁知道正确的解决方法?8. javascript - 百度图片切换图片时url会改变,但无刷新,没用hash,IE8也支持,请问是用了什么技术?9. 编辑管理员信息时,为什么没有修改过的内容会为空?10. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?
