0

mssql 2008 データベースでクエリを実行するプログラムに問題があります。クエリアナライザーでいくつかの調査を行いました。次の 2 つのクエリには奇妙な問題があります。

SELECT  BOLD_ID ,
        BOLD_TYPE
FROM    ZusatzKlasseBase
WHERE   ( bold_id IN ( SELECT   usereintrag
                       FROM     zusatzfeld
                       WHERE    metazusatzfeld = 5211309
                                AND wertobject = 1298369 )
          AND bold_id IN ( SELECT   usereintrag
                           FROM     zusatzfeld
                           WHERE    metazusatzfeld = 5207783
                                    AND wertdatum = '20130415' )
        )

このクエリの実行時間は約 1 秒です

SELECT  BOLD_ID ,
        BOLD_TYPE
FROM    ZusatzKlasseBase
WHERE   ( BOLD_TYPE IN ( 336 ) )
        AND ( bold_id IN ( SELECT   usereintrag
                           FROM     zusatzfeld
                           WHERE    metazusatzfeld = 5211309
                                    AND wertobject = 1298369 )
              AND bold_id IN ( SELECT   usereintrag
                               FROM     zusatzfeld
                               WHERE    metazusatzfeld = 5207783
                                        AND wertdatum = '20130415' )
            )

このクエリの実行時間は 1 分です。

これについては説明がありません。フィールド BOLD_TYPE はインデックス化されています。より具体的なクエリが遅い理由を誰でも推測できますか?

事前にすべての回答をありがとう。

4

1 に答える 1