rei*_*ein 7 sql t-sql sql-server sql-server-2005 query-optimization
作为索引优化中的练习(阅读:访谈问题),我需要一个在SQL2005中标准AdventureWorks数据库上运行缓慢的查询.我尝试过的所有查询大约需要1秒钟,而我希望查询需要多秒才能有效优化.
这里的任何人都可以创建这样的查询或指向如何创建慢查询?我似乎无法使我的查询非性能:)
Luk*_*sik 11
这里有大多数行的数据库表列表:
Tables - Rows count
Sales.SalesOrderDetail - 121317
Production.TransactionHistory - 113443
Production.TransactionHistoryArchive - 89253
Production.WorkOrder - 72591
Production.WorkOrderRouting - 67131
Sales.SalesOrderHeader - 31465
Sales.SalesOrderHeaderSalesReason - 27647
Person.Contact - 19972
Person.Address - 19614
Sales.CustomerAddress - 19220
Sales.Customer - 19185
Sales.ContactCreditCard - 19118
Sales.CreditCard - 19118
Sales.Individual - 18484
Sales.CurrencyRate - 13532
Run Code Online (Sandbox Code Playgroud)
您可以使用该表尝试不同的变体.例如这个查询:
SELECT * FROM Sales.SalesOrderDetail s
INNER JOIN Production.Product p ON s.ProductID = p.ProductID
Run Code Online (Sandbox Code Playgroud)
在我的电脑上运行9秒钟.
你可以运行这个:
SELECT * FROM Production.TransactionHistory th
INNER JOIN Production.TransactionHistoryArchive tha ON th.Quantity = tha.Quantity
Run Code Online (Sandbox Code Playgroud)
未加索引的表上的内部联接.非常人为的例子,但是现在我的机器上滚动需要2分钟.现在 - 超过20分钟.现在 - 1小时20分钟.
| 归档时间: |
|
| 查看次数: |
5899 次 |
| 最近记录: |