<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Optimizing Distributed Queries</title><link>http://blogs.msdn.com/queryoptteam/archive/2006/04/06/570251.aspx</link><description>I saw a post in one of the newsgroups today that referenced a piece of information Microsoft published on how the Optimizer makes decisions about remoting certain operations. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/optimsql/odp_tun_1a_6oxf.asp</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Optimizing Distributed Queries</title><link>http://blogs.msdn.com/queryoptteam/archive/2006/04/06/570251.aspx#570809</link><pubDate>Fri, 07 Apr 2006 17:11:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:570809</guid><dc:creator>Ian Boyd</dc:creator><description>It's time for everyone's favorite game: What should the remote query be?&lt;br&gt;&lt;br&gt;Get ready. Go!&lt;br&gt;&lt;br&gt;NOTES&lt;br&gt;1. These can be solved by inspection. No knowledge of DDL, indexes or &lt;br&gt;statistics is required.&lt;br&gt;&lt;br&gt;2. You must login to this site to post comments; makes adding comments difficult.&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#1: Querying a linked server&lt;br&gt;SELECT *&lt;br&gt;FROM servertest.CMSArchiveTraining.dbo.Transactions_90&lt;br&gt;WHERE TransactionGUID = '9B2D0E34-F91C-45E8-A904-1BDA0E72802B'&lt;br&gt;&lt;br&gt;Answer#1:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT *&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE TransactionGUID = '9B2D0E34-F91C-45E8-A904-1BDA0E72802B'&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#2: Querying a linked server through a derived table&lt;br&gt;SELECT *&lt;br&gt;FROM (SELECT * FROM servertest.CMSArchiveTraining.dbo.Transactions_90) &lt;br&gt;CMSArchiveTransactions&lt;br&gt;WHERE TransactionGUID = '9B2D0E34-F91C-45E8-A904-1BDA0E72802B'&lt;br&gt;&lt;br&gt;Answer#2:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT *&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE TransactionGUID = '9B2D0E34-F91C-45E8-A904-1BDA0E72802B'&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#3: Querying a linked server through a view&lt;br&gt;CREATE VIEW CMSArchiveTransactions AS&lt;br&gt;SELECT *&lt;br&gt;FROM servertest.CMSArchiveTraining.dbo.Transactions_90&lt;br&gt;&lt;br&gt;SELECT *&lt;br&gt;FROM CMSArchiveTransactions&lt;br&gt;WHERE TransactionGUID = '9B2D0E34-F91C-45E8-A904-1BDA0E72802B'&lt;br&gt;&lt;br&gt;Answer#3:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT *&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE TransactionGUID = '9B2D0E34-F91C-45E8-A904-1BDA0E72802B'&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#4: Joining to a linked server table&lt;br&gt;SELECT CMSArchiveTransactions.*&lt;br&gt;FROM CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;INNER JOIN Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;ON t.CustomerID = c.CustomerID&lt;br&gt;&lt;br&gt;Answer#4:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT *&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#5: Joining to a linked server with join criteria&lt;br&gt;SELECT CMSArchiveTransactions.*&lt;br&gt;FROM CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;INNER JOIN Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;ON t.CustomerID = c.CustomerID&lt;br&gt;WHERE c.CustomerID = 4463&lt;br&gt;&lt;br&gt;Answer#5:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT *&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE CustomerID = 4463&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#6: Joining to a linked server with join criteria&lt;br&gt;SELECT CMSArchiveTransactions.*&lt;br&gt;FROM CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;INNER JOIN Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;ON t.CustomerID = c.CustomerID&lt;br&gt;WHERE t.TransactionAmount &amp;gt; 1000&lt;br&gt;&lt;br&gt;Answer#6:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT *&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE TransactionAmount &amp;gt; 1000&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#7: Joining to a linked server with join criteria&lt;br&gt;SELECT CMSArchiveTransactions.*&lt;br&gt;FROM CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;INNER JOIN Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;ON t.CustomerID = c.CustomerID&lt;br&gt;WHERE t.TransactionAmount &amp;gt; 1000&lt;br&gt;AND c.CustomerID = 4463&lt;br&gt;&lt;br&gt;Answer#7:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT *&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE TransactionAmount &amp;gt; 1000&lt;br&gt; &amp;nbsp; &amp;nbsp;AND CustomerID = 4463&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#8 Joining to a linked server with join criteria&lt;br&gt;SELECT c.CustomerName, t.TransactionAmount&lt;br&gt;FROM CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;INNER JOIN Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;ON t.CustomerID = c.CustomerID&lt;br&gt;WHERE c.CustomerID = 4463&lt;br&gt;&lt;br&gt;Answer#8:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT CustomerID, TransactionAmount&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE CustomerID = 4463&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#9: Joining to a linked server with join criteria&lt;br&gt;SELECT c.CustomerName, t.TransactionAmount&lt;br&gt;FROM CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;INNER JOIN Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;ON t.CustomerID = c.CustomerID&lt;br&gt;WHERE c.CustomerID &amp;gt;= 4000&lt;br&gt;AND c.CustomerID &amp;lt;= 5000&lt;br&gt;&lt;br&gt;Answer#9:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT CustomerID, TransactionAmount&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE CustomerID &amp;gt;= 4000&lt;br&gt; &amp;nbsp; &amp;nbsp;AND CustomerID &amp;lt;= 5000&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#10: Joining to a linked server with aggregates&lt;br&gt;ELECT c.CustomerID, c.CustomerName, &lt;br&gt;LastCustomerTransactions.LastTransactionDate&lt;br&gt;FROM Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;LEFT JOIN (&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SELECT CustomerID, MAX(TransactionDate) AS LastTransactionDate&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FROM CMSArchiveTransactions&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GROUP BY CustomerID) AS LastCustomerTransactions&lt;br&gt; &amp;nbsp; &amp;nbsp;ON c.CustomerID = LastCustomerTransactions.CustomerID&lt;br&gt;&lt;br&gt;Answer#10:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT CustomerID, MAX(TransactionDate) Col1042&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#11 Joining to a linked server with aggregates and join criteria&lt;br&gt;SELECT c.CustomerID, c.CustomerName, &lt;br&gt;LastCustomerTransactions.LastTransactionDate&lt;br&gt;FROM Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;LEFT JOIN (&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SELECT CustomerID, MAX(TransactionDate) AS LastTransactionDate&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FROM CMSArchiveTransactions&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GROUP BY CustomerID) AS LastCustomerTransactions&lt;br&gt; &amp;nbsp; &amp;nbsp;ON c.CustomerID = LastCustomerTransactions.CustomerID&lt;br&gt;WHERE c.CustomerID = 4463&lt;br&gt;&lt;br&gt;Answer#11:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT CustomerID, MAX(TransactionDate) Col1042&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE CustomerID = 4463&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#12: Joining to a linked server with aggregates&lt;br&gt;SELECT c.CustomerID, c.CustomerName, &lt;br&gt;LastCustomerTransactions.LastTransactionDate&lt;br&gt;FROM Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;LEFT JOIN (&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SELECT CustomerID, MAX(TransactionDate) AS LastTransactionDate&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FROM CMSArchiveTransactions&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GROUP BY CustomerID) AS LastCustomerTransactions&lt;br&gt; &amp;nbsp; &amp;nbsp;ON c.CustomerID = LastCustomerTransactions.CustomerID&lt;br&gt;WHERE c.CustomerName = 'Ian Boyd'&lt;br&gt;&lt;br&gt;Answer#12:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT CustomerID, MAX(TransactionDate) Col1042&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#13: Joining to a linked server with aggregates&lt;br&gt;SELECT c.CustomerName, SUM(CMSArchiveTransactions.TransactionAmount)&lt;br&gt;FROM CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;INNER JOIN Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;ON t.CustomerID = c.CustomerID&lt;br&gt;GROUP BY c.CustomerName&lt;br&gt;&lt;br&gt;Answer#13:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT CustomerID, SUM(TransactionAmount) Col1042&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;GROUP BY CustomerID&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#14: Joining to a linked server with aggregates&lt;br&gt;SELECT c.CustomerName, SUM(CMSArchiveTransactions.TransactionAmount)&lt;br&gt;FROM CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;INNER JOIN Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;ON t.CustomerID = c.CustomerID&lt;br&gt;WHERE CustomerName = 'Ian Boyd'&lt;br&gt;GROUP BY c.CustomerName&lt;br&gt;&lt;br&gt;Answer#14:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT CustomerID, SUM(TransactionAmount) Col1042&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;GROUP BY CustomerID&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#15: Joining to a linked server with aggregates&lt;br&gt;SELECT c.CustomerName, SUM(CMSArchiveTransactions.TransactionAmount)&lt;br&gt;FROM CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;INNER JOIN Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;ON t.CustomerID = c.CustomerID&lt;br&gt;WHERE c.CustomerName LIKE '%ian%'&lt;br&gt;GROUP BY c.CustomerName&lt;br&gt;&lt;br&gt;Answer#15:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT CustomerID, SUM(TransactionAmount) Col1042&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;GROUP BY CustomerID&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#16: Joining to a linked server with aggregates&lt;br&gt;SELECT c.CustomerName, SUM(CMSArchiveTransactions.TransactionAmount)&lt;br&gt;FROM CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;INNER JOIN Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;ON t.CustomerID = c.CustomerID&lt;br&gt;WHERE CustomerName LIKE '%ian%'&lt;br&gt;AND c.CustomerID &amp;gt;= 4000&lt;br&gt;AND c.CustomerID &amp;lt;= 5000&lt;br&gt;GROUP BY c.CustomerName&lt;br&gt;&lt;br&gt;Answer#16:&lt;br&gt;QUERY:(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT CustomerID, SUM(TransactionAmount) Col1042&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE CustomerID &amp;gt;= 4000&lt;br&gt; &amp;nbsp; &amp;nbsp;AND CustomerID &amp;lt;= 5000&lt;br&gt; &amp;nbsp; &amp;nbsp;GROUP BY CustomerID&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#17: Right join to linked table&lt;br&gt;SELECT *&lt;br&gt;FROM Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;RIGHT OUTER JOIN CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;ON c.CustomerID = t.CustomerID&lt;br&gt;&lt;br&gt;Answer#17:&lt;br&gt;QUERY: (&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT *&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt;)&lt;br&gt;&lt;br&gt;Question#18: Right join to linked table with left table filtering&lt;br&gt;SELECT *&lt;br&gt;FROM Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;RIGHT OUTER JOIN CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;ON c.CustomerID = t.CustomerID&lt;br&gt;WHERE c.CustomerID = 4463&lt;br&gt;&lt;br&gt;Answer#18:&lt;br&gt;QUERY: (&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT *&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt;)&lt;br&gt;&lt;br&gt;Question#19: Right join to linked table with right table filtering&lt;br&gt;SELECT *&lt;br&gt;FROM Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;RIGHT OUTER JOIN CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;ON c.CustomerID = t.CustomerID&lt;br&gt;WHERE t.TransactionAmount &amp;gt;= 1000&lt;br&gt;&lt;br&gt;Answer#19:&lt;br&gt;QUERY: (&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT *&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE TransactionAmount &amp;gt;= 1000&lt;br&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#20: Right join to linked table with both table filtering&lt;br&gt;SELECT *&lt;br&gt;FROM Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;RIGHT OUTER JOIN CMSArchiveTransactions t&lt;br&gt; &amp;nbsp; &amp;nbsp;ON c.CustomerID = t.CustomerID&lt;br&gt;WHERE c.CustomerID = 4463&lt;br&gt;AND t.TransactionAmount &amp;gt;= 1000&lt;br&gt;&lt;br&gt;Answer#20:&lt;br&gt;QUERY: (&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT *&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM &amp;quot;CMSArchiveTraining&amp;quot;.&amp;quot;dbo&amp;quot;.&amp;quot;Transactions_90&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp;WHERE TransactionAmount &amp;gt;= 1000&lt;br&gt;) &lt;br&gt;&lt;br&gt;</description></item><item><title>re: Optimizing Distributed Queries</title><link>http://blogs.msdn.com/queryoptteam/archive/2006/04/06/570251.aspx#570838</link><pubDate>Fri, 07 Apr 2006 17:47:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:570838</guid><dc:creator>Ian Boyd</dc:creator><description>Extra credit questions.&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#21:&lt;br&gt;CREATE VIEW AllTransactions AS&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT t.*, 'local' AS SourceTable&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM LocalTransactions t&lt;br&gt;&lt;br&gt; &amp;nbsp; &amp;nbsp;UNION ALL &amp;nbsp; &amp;nbsp;&lt;br&gt;&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT t.*, 'remote' AS SourceTable&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM servertest.CMSArchiveTraining.dbo.Transactions_90&lt;br&gt;&lt;br&gt;SELECT *&lt;br&gt;FROM AllTransactions&lt;br&gt;WHERE Source = 'local'&lt;br&gt;&lt;br&gt;Answer#21&lt;br&gt;no remote query&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#22&lt;br&gt;SELECT *&lt;br&gt;FROM AllTransactions&lt;br&gt;WHERE Source &amp;lt;&amp;gt; 'remote'&lt;br&gt;&lt;br&gt;Answer#22&lt;br&gt;no remote query&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#23&lt;br&gt;SELECT MAX(TranasctionDate)&lt;br&gt;FROM AllTransactions&lt;br&gt;&lt;br&gt;Answer#23&lt;br&gt;QUERY(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT MAX(TransactionDate) Col1402&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM CMSArchiveTraining.dbo.Transactions_90)&lt;br&gt;&lt;br&gt;Bonus points: &lt;br&gt; &amp;nbsp; &amp;nbsp;AGGREGATE&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CONCAT&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LOCALQUERY( &lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SELECT MAX(TransactionDate) Col1402&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FROM LocalTransactions)&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;REMOTEQUERY(&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SELECT MAX(TransactionDate) Col1402&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FROM CMSArchiveTraining.dbo.Transactions_90)&lt;br&gt;&lt;br&gt;&lt;br&gt;Question#24&lt;br&gt;SELECT c.CustomerID, MAX(TransactionDate)&lt;br&gt;FROM Customers c&lt;br&gt; &amp;nbsp; &amp;nbsp;INNER JOIN AllTransactions t&lt;br&gt;GROUP BY c.CustomerID&lt;br&gt;&lt;br&gt;Answer#24&lt;br&gt;QUERY(&lt;br&gt; &amp;nbsp; &amp;nbsp;SELECT CustomerID, MAX(TranasctionDate)&lt;br&gt; &amp;nbsp; &amp;nbsp;FROM CMSArchiveTraining.dbo.Transactions_90&lt;br&gt; &amp;nbsp; &amp;nbsp;GROUP BY CustomerID)&lt;br&gt;&lt;br&gt;Bonus points:&lt;br&gt;&lt;br&gt;INNER JOIN &lt;br&gt; &amp;nbsp; &amp;nbsp;Customers&lt;br&gt; &amp;nbsp; &amp;nbsp;AGGREGATE&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CONCAT&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;REMOTEQUERY(&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SELECT CustomerID, MAX(TranasctionDate)&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FROM CMSArchiveTraining.dbo.Transactions_90&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GROUP BY CustomerID)&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LOCALQUERY(&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SELECT CustomerID, MAX(TransactionDate)&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FROM LocalTransactions&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GROUP BY CustomerID)</description></item><item><title>Microsoft  &amp;raquo; Blog Archives   &amp;raquo; SSW SQL Auditor - Optimize your SQL Server performance</title><link>http://blogs.msdn.com/queryoptteam/archive/2006/04/06/570251.aspx#778606</link><pubDate>Sun, 01 Oct 2006 00:36:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:778606</guid><dc:creator>Microsoft  » Blog Archives   » SSW SQL Auditor - Optimize your SQL Server performance</dc:creator><description>PingBack from &lt;a rel="nofollow" target="_new" href="http://chaespot.com/mssql/2006/09/30/ssw-sql-auditor-optimize-your-sql-server-performance-2/"&gt;http://chaespot.com/mssql/2006/09/30/ssw-sql-auditor-optimize-your-sql-server-performance-2/&lt;/a&gt;</description></item><item><title>Microsoft  &amp;raquo; Blog Archives   &amp;raquo; Tips, Tricks, and Advice from the SQL Server Query Optimization Team</title><link>http://blogs.msdn.com/queryoptteam/archive/2006/04/06/570251.aspx#2277674</link><pubDate>Thu, 26 Apr 2007 03:48:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2277674</guid><dc:creator>Microsoft  » Blog Archives   » Tips, Tricks, and Advice from the SQL Server Query Optimization Team</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://chaespot.com/mssql/2007/04/26/tips-tricks-and-advice-from-the-sql-server-query-optimization-team-3/"&gt;http://chaespot.com/mssql/2007/04/26/tips-tricks-and-advice-from-the-sql-server-query-optimization-team-3/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Website Scripts &amp;raquo; Tips Tricks and Advice from the SQL Server Query Optimization Team &amp;#8230;</title><link>http://blogs.msdn.com/queryoptteam/archive/2006/04/06/570251.aspx#7181499</link><pubDate>Mon, 21 Jan 2008 11:32:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7181499</guid><dc:creator>Website Scripts » Tips Tricks and Advice from the SQL Server Query Optimization Team …</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://websitescripts.247blogging.info/tips-tricks-and-advice-from-the-sql-server-query-optimization-team/"&gt;http://websitescripts.247blogging.info/tips-tricks-and-advice-from-the-sql-server-query-optimization-team/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Tips Tricks and Advice from the SQL Server Query Optimization Team | fix my credit</title><link>http://blogs.msdn.com/queryoptteam/archive/2006/04/06/570251.aspx#9764135</link><pubDate>Wed, 17 Jun 2009 04:50:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9764135</guid><dc:creator> Tips Tricks and Advice from the SQL Server Query Optimization Team | fix my credit</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://fixmycrediteasily.info/story.php?id=6275"&gt;http://fixmycrediteasily.info/story.php?id=6275&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>