一条 SELECT JOIN MySQL 与 PostgreSQL:跨源分析不必先搬数据

一条 SELECT JOIN MySQL 与 PostgreSQL:跨源分析不必先搬数据 系列《为什么 InfiniSQL 是最适合 Agentic 范式的数据语言》第 10 篇配图MySQL × PostgreSQL 测试环境实测真实企业的数据长这样订单在 MySQL客户画像在 PostgreSQL行为日志在 ClickHouse历史归档在对象存储。任何有价值的分析问题几乎必然跨源。Agent 分析到第 5 步发现华东区大额订单集中在少数客户需要客户等级数据做下钻——但客户表在另一个数据库里。这时候两条路Python 路线pip install psycopg2→ 拼连接串 →read_sql拉全表进内存 →pd.merge。四步每步都是新的错误源表一大直接 OOM而且拉全表回本地这个动作本身很多企业的安全策略就不允许。InfiniSQL 路线-- 订单在 MySQLconnectjdbcwhereurljdbc:mysql://db.internal:3306/sales?useSSLfalseanddrivercom.mysql.cj.jdbc.Driveranduseranalystandpassword******asbiz_mysql;loadjdbc.biz_mysql.ordersasorders;-- 客户画像在 PostgreSQLconnectjdbcwhereurljdbc:postgresql://crm.internal:5432/crmanddriverorg.postgresql.Driveranduseranalystandpassword******ascrm_pg;loadjdbc.crm_pg.public.crm_customersascustomers;-- 一条 select跨两个数据库 JOINselecto.order_id,o.amount,c.name,c.customer_levelfromorders oleftjoincustomers cono.customer_idc.idwhereo.region华东ando.statuspaidaseast_with_customer;selectcustomer_level,count(*)asorder_count,round(avg(amount),0)asavg_amountfromeast_with_customergroupbycustomer_levelorderbyavg_amountdescasoutput;测试环境实测返回[{customer_level:SVIP,order_count:6,avg_amount:42167},{customer_level:VIP,order_count:2,avg_amount:10800}]结论一步到位华东大额订单确实集中在 SVIP客单价 4.2 万是 VIP 的四倍。关键在于进了 Session 就是一张表load之后ordersMySQL和customersPostgreSQL在会话里的地位完全等同——JOIN、聚合、窗口函数随便用Spark 引擎负责分布式执行、谓词下推和内存溢写。Agent 的心智模型里根本没有跨源这个概念它只是又引用了两张表。这就是第 7 条设计原则资源语义透明的落地驱动选择、连接池、分区并发、两个库的方言差异——这些工程决策全部不出现在生成目标里。语言只表达数据在哪、要什么引擎负责怎么拿、怎么算。心流的价值被严重低估了注意这个细节接入 PostgreSQL 发生在分析进行到一半的时候。Agent 不需要停下来说请先让工程团队把 CRM 数据同步进数仓——connectload两条语句新数据源当场进入战场上一步的east_china明细表还在直接 JOIN。传统数据栈里接入一个新数据源是一个以天计的工程需求在 InfiniSQL 的会话里它是一个以秒计的语句。探索的深度取决于每次再看一眼的成本——成本降到一条语句Agent 才能真正做到打破砂锅问到底。数据不搬家分析不断流。下一篇把业务口径沉淀成可复用片段——template.get的工程价值。InfiniSQL 是 InfiniSynapse 数据分析 Agent 底座引擎。示例在 Infinity SQL 测试环境实测MySQL 8.0 × PostgreSQL 14。