解决...不同库不同表大批量数据查询、SQL

跨库查询大批量数据的高效策略
本文探讨了在数据库环境下,如何处理不同库、不同表之间的大量数据查询问题。面对近一个月访问App首页用户的查询需求,由于表结构和性能限制,直接联合查询不可行。文中提出了一种简单粗暴的解决方案,包括将USER_ID导出为SQL文件,导入到新的表中,然后在同一个库内进行联合查询。作者期望得到更优的解决方案。

一、业务需求

        查询近一个月访问过App首页的用户,并导出对应的信息表,只需要电话号码

二、表结构

        (1)A数据库,operation_log表保存了用户浏览的日志信息,可以根据用户的"操作方式"字段 OPERATION_TYPE='IndexPage' 查询出用户的id,即USER_ID;

SELECT  USER_ID 
FROM operation_log
WHERE OPERATION_TYPE='indexPage' 
AND START_TIME >= '2022-01-01 00:00:00'
AND START_TIME <= '2022-02-14 24:00:00' 
AND USER_ID IS NOT NULL 
GROUP BY USER_ID

(由于该表未建索引,执行效率同样极低,希望大佬能给出优化语句)

        (2)B数据库,user_main表保存的用户的信息,可以根据用户id,即USER_ID字段查询。

三、遇到的问题

        (1)不同库、不同表、不同数据连接,不能直接进行联合查询;

        (2)查询出的USER_ID有十几万,无法直接通过IN语句进行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值