Applies ToSQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use)

Symptoms

Assume that you have enabled the new cardinality estimatorin Microsoft SQL Server 2014. When you run a query that contains join statements, you may encounter the following issues:

  • 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.

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.