両方のマシンが同じサーバーに接続していたと仮定すると、不適切なプランが 2 つの接続間で共有されない原因となった設定の違いがあった可能性があります。
接続で以前にキャッシュされたプランを再利用するには、ANSI_NULLS
を含め、かなりの数の設定 (プラン キャッシュ キー) を同じにする必要があります。 、 ARITHABORT
、 Language
、 DATEFIRST
およびデフォルト スキーマ (クエリが暗黙的な名前解決に依存している場合)。
これらは、sys.dm_exec_plan_attributes
で確認できます。 (is_cache_key=1
のもの 接続間で同じである必要があります)。
is_cache_key=1
の属性の完全なリスト です
dbid_execute required_cursor_options compat_level parent_plan_handle date_format language_id status merge_action_type is_replication_specific objectid acceptable_cursor_options date_first set_options user_id dbid optional_spid optional_clr_trigger_objid optional_clr_trigger_dbid
プレ>
set_options
およびcursor_options
こちらに記載されている さまざまなオプションを構成するビット フラグです。 .私の実験ではuser_id
実際にはschema_id(default_schema_name)
を参照しますprincipal_id
ではなく .