我正在尝试加入以下两个查询
select * from MapCountries where IndexName='SPX Index' and date(ModifiedDate)='2015-04-24';
select DRegion,DCountry,GICS1,GICS2,LRY,BBGLableValues from CompanyDetails where IndexName='SPX Index' and CompanyTicker='A UN' and date(ModifiedDate)='2015-04-24';
第二个查询是从" while(reader.read())"第一个查询。 这占用了大量的CPU时间。那么有没有办法加入这两个查询以减少CPU使用?
while (reader.Read())
{
var regionModelTest = new RegionModelTest();
ExtractCompanyDetails(Index, regionModelTest);
...
}
ExtractCompanyDetails(Index, regionModelTest)
{
second query;
}
第二个查询的CompanyTicker来自第一个查询的一个字段。
感谢您的帮助。
答案 0 :(得分:2)
您可以尝试一个简单的左连接:
select * from MapCountries mc
left join CompanyDetails cd on mc.IndexName = cd.IndexName and mc.ModifiedDate = cd.ModifiedDate
where mc.IndexName='SPX Index' and date(mc.ModifiedDate)='2015-04-24' and cd.CompanyTicker='A UN'