Sql server 为什么对更少行的全文查询比对更多行的同一查询慢?
此查询需要21秒:Sql server 为什么对更少行的全文查询比对更多行的同一查询慢?,sql-server,full-text-search,contains,database-performance,Sql Server,Full Text Search,Contains,Database Performance,此查询需要21秒: SELECT Top 50 ROW_NUMBER() OVER (ORDER BY aDate DESC) AS Row, aID, aHeadline, aAuthor, aDate, TopStory, SiteSectionID, PrintSection, aSummary, small_image, aBody FROM articles WHERE aLive = -1 AND full_story = -1 AND aDate >= '9/3/2012'
SELECT Top 50 ROW_NUMBER() OVER (ORDER BY aDate DESC) AS Row, aID, aHeadline, aAuthor, aDate, TopStory, SiteSectionID, PrintSection, aSummary, small_image, aBody FROM articles
WHERE aLive = -1 AND full_story = -1 AND aDate >= '9/3/2012' AND aDate <= '10/3/2012' AND (Contains((aAuthor,aBody,aHeadline,aSubhead,aSummary), '"kodak"'))
ORDER BY aDate DESC
选择前50行编号()(按aDate DESC排序)作为文章中的行、辅助、标题、作者、aDate、TopStory、SiteSectionID、PrintSection、aSummary、small\u image、aBody
其中aLive=-1和full_story=-1,aDate>='9/3/2012',aDate='9/3/2002',aDate检查执行Plant典型的优化器问题。基数估计错误。如果运行第一个查询,然后运行第二个查询,然后再次运行第一个查询,它是否仍在21秒内运行?我想知道第一个查询是否很慢,因为它是第一次运行并且正在生成执行计划,所以第二个查询正在重用该计划,因此运行得更快。
SELECT Top 50 ROW_NUMBER() OVER (ORDER BY aDate DESC) AS Row, aID, aHeadline, aAuthor, aDate, TopStory, SiteSectionID, PrintSection, aSummary, small_image, aBody FROM articles
WHERE aLive = -1 AND full_story = -1 AND aDate >= '9/3/2002' AND aDate <= '10/3/2012' AND (Contains((aAuthor,aBody,aHeadline,aSubhead,aSummary), '"kodak"'))
ORDER BY aDate DESC