Jap*_*olt 0 sql-server sql-server-2000
我在我的SQL Server上运行了一个应用程序,它开始减慢特定任务的速度.我运行SQL事件探查器并注意到以下查询占用了大量(1-2分钟)的时间. 我无权访问代码来更改查询.
我可以在数据库中调整/更改任何内容吗?下面的声明中的PC10000表有大约.119000条记录.我还附上了执行计划.
SELECT TOP 25
zProjectID, zTaskID, zTransactionNumber, zTransactionDate, zUserID,
zCostCategoryDDL, zCostCategoryString, zSubCostCategory, zSubCostCategoryString,
zDepartmentID, zJournalEntry, zPostingDate, zSalesPostingDate, zPeriodNumber,
zTransactionDescription, zBillingDescriptionLine1, zBillingDescriptionLine2,
zBillingDescriptionLine3, zBillingDescriptionLine4, zSalesAccountIndex,
zSalesAccountString, zDistDocumentTypeDDL, zDistDocumentNumber, zDistSequenceNumber,
zSalesDocumentTypeDDL, zSalesDocumentNumber, zSalesLineNumber, zDistHistoryYear,
zSeriesDDL, zSourceDoc, zWebSource, zOrigDocumentNumber, zOrigDocumentDate,
zOrigID, zOrigName, zExpenseStatusDDL, zApprovalUserIDCost, zAccountIndex,
zAccountNumberString, zBillingStatusDDL, zApprovalUserIDBilling, zBillingWorkQty,
zBillingWorkAmt, zQty, zQtyBilled, zUnitCost,
zUnitPrice, zRevenueAmt, zOriginatingRevenueAmt, zCostAmtEntered, zCostAmt,
zOriginatingCostAmt, zPayGroupID, zPayrollStatusDDL, zTotalTimeStatusDDL,
zEmployeeID, zHoursEntered, zHoursPaid, zPayRecord, zItemID, zItemDescription,
zUofM, zItemQty, zBurdenStatusDDL, zUserDefinedDate, zUserDefinedDate2,
zUserDefinedString, zUserDefinedString2, zUserDefinedCurrency,
zUserDefinedCurrency2, zNoteIndex, zImportType, DEX_ROW_ID
FROM
DBServer.dbo.pc10000
WHERE
(zDistDocumentNumber in
(select cast(JRNENTRY as varchar(20))
from DBServer..GL10001
where BACHNUMB = 'PMCHK00004283')
or zSalesDocumentNumber in
(select cast(JRNENTRY as varchar(20))
from DBServer..GL10001
where BACHNUMB = 'PMCHK00004283'))
ORDER BY
zProjectID ASC ,zTaskID ASC ,zTransactionNumber ASC
Run Code Online (Sandbox Code Playgroud)

您遇到的最大问题是缺乏合适的索引.您可以看到,因为执行计划中存在表扫描.
表扫描性能,因为它们意味着正在扫描整个表以查找与查询中的给定子句匹配的数据.
我建议你在GL10001的BACHNUMB上添加一个索引
您可能还想在PC10000中尝试zDistDocumentNumber和zSalesDocumentNumber上的索引,但我认为GL10001索引是主要索引.
与其他技术相比,"IN"子句通常非常昂贵,但由于您无法更改查询本身,因此无法对此进行任何操作.
毫无疑问,您需要添加合适的索引
| 归档时间: |
|
| 查看次数: |
1188 次 |
| 最近记录: |