在我的查询中我经常使用Enumerable.Contains(..),并且在复杂查询中,实际的查询编译需要永远(如10-20s),而查询执行只需不到一秒钟。
是否有人对此问题有任何建议(解决方法)。我需要使用Enumerable.Contains,因为我有一个具有层次结构的表(n级深)。如果我们采用一个众所周知的例子:
reinterpret_cast
等。如果我需要检索所有CPU的数据,我首先会获得属于该组(和子组)的所有产品的ID,然后使用
CPU
-- AMD
-- FX
-- A8
-- Intel
-- I3
-- I5
在查询中。这也可以防止缓存,因此始终会重新编译查询。如果有人知道更好的方式,我的耳朵是开放的。
此致 戈兰