由于我的情况,这可能是在黑暗中完全刺伤,但我没有别人可以转身!
我在生产环境中工作,我们有一个量身定制的计划,可以全天跟踪所有产品信息。这通过程序进入一个包含大量表的SQL数据库。
所以,要从数据库中获取数据,我们有两个选项,一个是在定制程序中使用原始SQL,一个简单的选择查询立即运行...
查询是这样的 -
Select * from table where DATE_STAMP > 212257195260000000
另一种选择是使用微软查询和ODBC与DynaAccess来查询数据库。对于相同的查询,它至少需要30秒。
由于最近在C#中开发.NET应用程序以将数据从生产数据库同步到复制的mysql数据库,因此这越来越成为一个问题。我目前正在从数据库同步大约20个表,这可能需要10分钟才能获得大约10-15行数据,因为循环在15秒内循环。
再一次,.NET应用程序中使用的查询与我在定制程序中使用的查询完全相同,并且返回数据所需的时间也大不相同。
可能值得一提的是DATE_STAMP字段有一个索引。
就像我说的,这是在黑暗中刺伤,但希望有人可以给我一些建议。
如果需要更多信息,请询问!