以下查詢在針對SQL Server CE數據庫運行sql時運行速度非常慢,我曾希望將其轉換爲EF的linq。任何人都可以建議,我還沒有在SQL Server CE上創建任何索引。表2有100,000行。SQL Server CE存在子句性能
SELECT
*
FROM
Table1 T1a
WHERE
EXISTS
(
SELECT
NULL
FROM
Table2 T2
JOIN Table1 T1b ON T2.Field1 = T2.Field1
WHERE
T2.SomeID = 12345 AND
T1a.SomeString = T1b.SomeString
)
ORDER BY
T1a.SomeString,
T1a.AnotherString
「我還沒有寫入索引」 - 那就是問題了。您需要索引才能獲得更好的性能。 – 2012-08-10 23:32:42
就像在SQL Server中一樣嗎?這個查詢中的任何明顯的? – 2012-08-10 23:36:23
你是不是要在'T2.Field1 = T1b.Field1'上寫'JOIN Table1 T1b'?當前寫入'T2.Field1 = T2.Field1'的方式與1 = 1的加入相同。 – RThomas 2012-08-10 23:54:57