ここでは、ほとんどの行を持つデータベーステーブルのリストを持っている:
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
あなたがそのテーブルを使用してさまざまなバリエーションを試すことができます。たとえば、次のクエリ:
SELECT * FROM Sales.SalesOrderDetail s
INNER JOIN Production.Product p ON s.ProductID = p.ProductID
私のコンピュータで9秒間実行されます。
あなたはこのを実行することができます。
SELECT * FROM Production.TransactionHistory th
INNER JOIN Production.TransactionHistoryArchive tha ON th.Quantity = tha.Quantity
インナーインデックス付けされていないテーブルに結合します。非常に人工的な例ですが、現在のところ、マシンをロールするのに2分以上かかります。今 - 20分以上。今すぐ - 1時間20分。
未熟な非最適化は、すべてのルートです... –