从两个不同的数据库(MSSQL服务器和MySQL)获取数据的最佳方式

从两个不同的数据库(MSSQL服务器和MySQL)获取数据的最佳方式,mysql,sql-server,performance,Mysql,Sql Server,Performance,我有一个网站,使用2个不同的DMS(MSSQL服务器和MySQL)。两个数据库中都有一个表名product,这两个表具有相同的产品ID 在MSSQL服务器中:我存储了价格、数量 在MySQL中:我存储了名称、大小 现在,每次查询产品时,我都会这样做: -连接到MySQL->通过循环查询产品->在每个循环内,我将连接到MSSQL服务器以获取此产品的其他数据 我知道这完全是一种糟糕的方式,所以我正在寻找一种新的方式来获得我想要的东西,因为我认为我的网站因为这种查询而变慢了 你能帮我写伪代码或解释

我有一个网站,使用2个不同的DMS(MSSQL服务器和MySQL)。两个数据库中都有一个表名
product
,这两个表具有相同的产品ID

  • 在MSSQL服务器中:我存储了价格、数量
  • 在MySQL中:我存储了名称、大小
现在,每次查询产品时,我都会这样做:
-连接到MySQL->通过循环查询产品->在每个循环内,我将连接到MSSQL服务器以获取此产品的其他数据

我知道这完全是一种糟糕的方式,所以我正在寻找一种新的方式来获得我想要的东西,因为我认为我的网站因为这种查询而变慢了


你能帮我写伪代码或解释吗,谢谢。

你说得对!将您的网站数据放在两种不同的数据库技术中不是最佳选择

在解决此问题之前,一个解决方法可能是(假设我们不是在讨论数百万条记录):

  • 用户在网站上选择产品A或产品类别X
  • 从SQL Server获取产品A或X类产品的所有数据,并将其存储在内存中(例如,在c#dataset或python数据框中)
  • 从MySQL获取产品A或X类产品的所有数据,并将其存储在内存中(例如,在c#数据集或python数据框中)
  • 根据产品Id加入2个内存中对象
  • 使用此组合数据集显示您的网站
  • 如果需要,在会话结束时将数据更新(提交)到数据库(将需要考虑如何处理脏读取方案)
如果您使用MariaDB,您可以使用odbc/jdbc访问MSSQL数据库。使用您现有的表单,我将检索产品的完整列表,并对MSSQL服务器进行一次查询。您是否有计划将一个DB产品合理化,或转移工作岗位以避免坚持这种方法的雇主/客户?