Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sqlserver的查询性能调优_Sql_Sql Server_Sql Server 2008 R2 - Fatal编程技术网

sqlserver的查询性能调优

sqlserver的查询性能调优,sql,sql-server,sql-server-2008-r2,Sql,Sql Server,Sql Server 2008 R2,我有两张桌子: SELECT [DealerdistributionId] ,[DealerCode] ,[BarCode] ,[BarCode2] ,[Model] ,[DONumber] ,[DistributionDate] FROM [tblDealerDistributionDetails] 产生这些结果 另一张表: SELECT [ProductRegID] ,[ProductType]

我有两张桌子:

SELECT [DealerdistributionId]
      ,[DealerCode]
      ,[BarCode]
      ,[BarCode2]
      ,[Model]
      ,[DONumber]
      ,[DistributionDate]
  FROM [tblDealerDistributionDetails]
产生这些结果

另一张表:

SELECT [ProductRegID]
      ,[ProductType]
      ,[ProductModelID]
      ,[SalerID]
      ,[ProductID]
      ,[PhoneNumber]
      ,[RegistrationDate]
  FROM [tblProductRegistration]
结果

第二个表tblProductRegistration记录第一个表tblDealerDistributionDetails中条形码或条形码2中的ProductID,但仅记录一个条形码或条形码2

我想知道哪个经销商在TBLPProductRegistration中有多少型号

输出: TBLPProductRegistration中的DelarCode、Model、TotalEntry

我试过这个

select DealerCode, COUNT(*) as [Activated]
 from  tblDealerDistributionDetails 
 where   
 ( BarCode in (select ProductID from tblProductRegistration where RegistrationDate >='2016-03-01' and RegistrationDate <='2016-03-02') 
 or 
 BarCode2 in (select ProductID from tblProductRegistration where RegistrationDate >='2016-03-01' and RegistrationDate <='2016-03-02') ) 
 and Model= 'Olvio L12' group by DealerCode
对于特定模型“Olvio L12”,但它会导致性能问题。我需要更快的查询性能


具有更快的查询性能。请提供帮助。

您是否要求我们编写加入查询?你试过什么?结果如何,表现如何?是的。除了让我们写你的代码,因为你甚至不愿意尝试一些东西。我可以建议你去一个网站,在那里你可以雇人为你工作吗?我们不是一家编码服务公司。我投票决定以离题的方式结束这个问题,因为你没有表现出自己解决问题的意愿,将stackoverflow.com作为免费编码服务。抱歉,编辑太晚。我尝试过此方法,但在中会导致性能问题。因此,我希望提高性能,而不是在QueryInDect中。您需要为性能设计表和索引,然后有一个使用此设计的查询来获得好处。我只是最近才给了一个。也许不是100%相似,但看看你能从答案中选择什么。
CREATE NONCLUSTERED INDEX ix_p
    ON tblProductRegistration (RegistrationDate, ProductID)
GO
CREATE NONCLUSTERED INDEX ix_d
    ON tblDealerDistributionDetails (model, DealerCode) INCLUDE (BarCode, BarCode2)
GO

SELECT DealerCode, COUNT_BIG(*) AS [Activated]
FROM tblDealerDistributionDetails d
WHERE model = 'Olvio L12'
    AND EXISTS(
        SELECT *
        FROM tblProductRegistration r
        WHERE r.RegistrationDate BETWEEN '20160301' AND '20160302'
            AND r.ProductID IN (d.BarCode, d.BarCode2)
    )
GROUP BY DealerCode
--OPTION(RECOMPILE)