FIX: 加入檢視表的查詢可能執行緩慢如果檢視表包含外部聯結

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:840406
本文已封存。本文係以「現狀」提供且不會再更新。
Bug #: 471308 (SHILOH_BUGS)
徵狀
如果您有聯結 (Join) 一個檢視的查詢,且該檢視包含外部聯結,可能會緩慢地執行查詢。
發生的原因
Microsoft SQL Server 查詢最佳化器並不會產生查詢計劃最佳化期間可能更有效率的特定聯結訂單,就會發生這個問題。
解決方案

服務套件資訊

如果要解決這個問題,取得最新的 Service Pack,Microsoft SQL Server 2000。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
290211如何取得最新的 SQL Server 2000 Service Pack

Hotfix 資訊

此 Hotfix 的英文版具有檔案屬性 (或更新) 中如下表所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。
   Date         Time   Version             Size   File name   -------------------------------------------------------------------------   31-May-2003  16:45  2000.80.818.0      78,400  Console.exe         25-Mar-2004  20:27  2000.80.928.0     315,968  Custtask.dll        30-Jan-2004  14:29  2000.80.911.0      33,340  Dbmslpcn.dll        25-Apr-2003  00:12                    786,432  Distmdl.ldf   25-Apr-2003  00:12                  2,359,296  Distmdl.mdf   29-Jan-2003  23:55                        180  Drop_repl_hotfix.sql   12-Sep-2003  01:26  2000.80.859.0   1,905,216  Dtspkg.dll          26-Aug-2003  18:16  2000.80.854.0     528,960  Dtspump.dll         23-Jun-2003  20:40  2000.80.837.0   1,557,052  Dtsui.dll           23-Jun-2003  20:40  2000.80.837.0     639,552  Dtswiz.dll          24-Apr-2003  00:51                    747,927  Instdist.sql   02-May-2003  23:56                      1,581  Inst_repl_hotfix.sql   30-Jan-2004  14:29  2000.80.911.0      90,692  Msgprox.dll         01-Apr-2003  00:07                      1,873  Odsole.sql   30-Jan-2004  14:29  2000.80.911.0      62,024  Odsole70.dll        30-Jan-2004  14:29  2000.80.911.0      25,144  Opends60.dll        30-Jan-2004  14:29  2000.80.911.0      57,904  Osql.exe            02-Apr-2003  21:15  2000.80.797.0     279,104  Pfutil80.dll        04-Aug-2003  16:17                    550,780  Procsyst.sql   11-Sep-2003  22:37                     12,305  Qfe469315.sql   22-May-2003  20:57                     19,195  Qfe469571.sql   25-Mar-2004  19:03                  1,104,848  Replmerg.sql   30-Jan-2004  14:29  2000.80.911.0     221,768  Replprov.dll        30-Jan-2004  14:29  2000.80.911.0     307,784  Replrec.dll         29-Jan-2004  21:24  2000.80.911.0     159,813  Replres.rll   05-Sep-2003  22:00                  1,087,150  Replsys.sql   13-Aug-2003  14:28                    986,603  Repltran.sql   30-Jan-2004  14:29  2000.80.911.0     287,304  Rinitcom.dll        25-Mar-2004  20:27  2000.80.928.0      66,112  Semmap.dll          30-Jan-2004  14:29  2000.80.911.0      57,916  Semnt.dll           29-Jul-2003  18:13  2000.80.819.0     492,096  Semobj.dll          31-May-2003  16:27  2000.80.818.0     172,032  Semobj.rll   02-Jan-2004  17:42  2000.80.904.0      53,832  Snapshot.exe        09-Dec-2003  18:07                    117,834  Sp3_serv_uni.sql   04-Feb-2004  22:46  2000.80.913.0      28,672  Sqlagent.dll        04-Feb-2004  22:47  2000.80.913.0     311,872  Sqlagent.exe        19-Feb-2004  16:02  2000.80.916.0     168,001  Sqlakw32.dll        12-Mar-2004  02:34  2000.80.923.0      33,344  Sqlctr80.dll        30-Jan-2004  14:29  2000.80.911.0   4,215,360  Sqldmo.dll          07-Apr-2003  15:44                     25,172  Sqldumper.exe       29-Jan-2004  21:17  2000.80.911.0      28,672  Sqlevn70.rll   05-Mar-2004  15:13  2000.80.922.0     180,792  Sqlmap70.dll        03-Sep-2003  00:56  2000.80.857.0     188,992  Sqlmmc.dll          02-Sep-2003  21:03  2000.80.857.0     479,232  Sqlmmc.rll   21-Oct-2003  22:08  2000.80.871.0     401,984  Sqlqry.dll          30-Jan-2004  14:29  2000.80.911.0      57,920  Sqlrepss.dll        13-Apr-2004  17:31  2000.80.933.0   7,626,833  Sqlservr.exe        30-Jan-2004  14:29  2000.80.911.0     590,396  Sqlsort.dll         30-Jan-2004  14:29  2000.80.911.0      45,644  Sqlvdi.dll          30-Jan-2004  14:29  2000.80.911.0     106,588  Sqsrvres.dll        30-Jan-2004  14:29  2000.80.911.0      33,340  Ssmslpcn.dll        30-Jan-2004  14:29  2000.80.911.0      82,492  Ssnetlib.dll        30-Jan-2004  14:29  2000.80.911.0      25,148  Ssnmpn70.dll        28-Oct-2003  02:21  2000.80.873.0     123,456  Stardds.dll         30-Jan-2004  14:29  2000.80.911.0     158,240  Svrnetcn.dll        30-Jan-2004  14:29  2000.80.911.0      76,416  Svrnetcn.exe        30-Apr-2003  21:52  2000.80.816.0      45,132  Ums.dll             30-Jan-2004  14:29  2000.80.911.0      98,872  Xpweb70.dll      
附註 由於檔案相依性最新版 Hotfix 或包含這些檔案的功能也可能包含其他檔案。
狀況說明
Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

這個問題,首先已經在 Microsoft SQL Server 2000 服務套件 4 中獲得修正。
其他相關資訊
套用此 Hotfix 之後,您必須啟用追蹤旗標 9052 的修正程式才會生效。要這麼做,請您執行下列步驟:
  1. 啟動 SQL Server 企業管理員。
  2. SQL Server 執行個體上按一下滑鼠右鍵,然後按一下 [內容]。
  3. 按一下 [一般] 索引標籤,然後按一下 [啟動參數
  4. 在 [啟動參數] 對話方塊輸入 -T9052 在 [參數] 方塊。
  5. 按一下 [新增],然後再按一下 [確定]
  6. SQL Server 屬性] 對話方塊中,按一下 [確定]
  7. 重新啟動 SQL Server。
附註您也以動態方式可以執行 dbcc traceon(9052,-1) 命令來啟用追蹤旗標。如果您在執行這個命令您沒有重新啟動 SQL Server。 但是,您必須執行這項指令每次您重新啟動 SQL Server。

警告:本文為自動翻譯

內容

文章識別碼:840406 - 最後檢閱時間:01/17/2015 09:27:16 - 修訂: 2.3

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbsqlserv2000presp4fix kbfix kbbug kbhotfixserver kbqfe KB840406 KbMtzh
意見反應