以下查询在针对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