оптимизировать для неизвестного для SQL Server 2005? - PullRequest
3 голосов
/ 16 марта 2009

Я слушал подкаст SO, и они упомянули Optimize For Unknown for SQL Server 2008, они также упомянули, что было что-то похожее для SQL Server 2005. Кто-нибудь знает, что это такое?

Ответы [ 3 ]

2 голосов
/ 17 марта 2009

Как упоминал @Mladen Prajdic, OPTIMIZE FOR UNKNOWN был представлен только в SQL Server 2008.

Если у вас есть достаточные знания о рабочей нагрузке запроса, OPTIMIZE FOR можно использовать для улучшения кэширования плана запроса:

http://blogs.msdn.com/sqlprogrammability/archive/2008/11/26/optimize-for-unknown-a-little-known-sql-server-2008-feature.aspx

http://decipherinfosys.wordpress.com/2007/10/23/optimize-for-query-hint-in-sql-server-2005/

2 голосов
/ 10 февраля 2010

Я сталкивался с этим вопросом ... Я знаю, что ему почти год. Но внутри хранимой процедуры вы можете использовать локальный параметр, чтобы имитировать поведение OPTIMIZE FOR UNKNOWN. См. Этот связанный вопрос stackoverflow .

1 голос
/ 16 марта 2009

в SQL Server 2005 у вас нет неизвестной опции. поэтому единственное, что вы можете сделать, это указать значение somekind.

...