Symptoms
the new cardinality estimatorin Microsoft SQL Server 2014. When you run a query that contains join statements, you may encounter the following issues:
Assume that you have enabled-
Some queries take significantly longer time to compile, especially when the query has a large number of joins. The compile time may keep growing significantly with the growing of joins.
-
When the join predicate uses other conditions than equality or a combination of equalities, the estimated number of rows of specific types in joins differs from the actual number of rows that are processed. In this situation, the query performance decreases, and because the query requests a large memory grant, the overall server performance decreases.
Resolution
Service pack information
To resolve this issue, obtain Service Pack 1 for SQL Server 2014.
For more information about SQL Server 2014 Service Pack 1 (SP1), see bugs that are fixed in SQL Server 2014 Service Pack 1. Note To make the fix take effect for the second issue described in this article, enable trace flag 4199.
Workaround
To work around these issues, use the old cardinality estimator by either setting the database compatibility level to a value less than 120, or enabling trace flag 9481 at global, session, or query level.
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.