1. 程式人生 > >SQL Server如何固定執行計劃

SQL Server如何固定執行計劃

 1 <Batch> 2 <Statements> 3 <StmtSimple StatementText="SELECT * FROM TEST WHERE [email protected]_ID" StatementId="1" StatementCompId="3" StatementType="SELECT" RetrievedFromCache="true" StatementSubTreeCost="0.0350227" StatementEstRows="2000" StatementOptmLevel="FULL" QueryHash="0xA99C3EB3A64627F3"
QueryPlanHash="0x50042F73B31C8535" StatementOptmEarlyAbortReason="GoodEnoughPlanFound" CardinalityEstimationModelVersion="120"> 4 <StatementSetOptions QUOTED_IDENTIFIER="true" ARITHABORT="true" CONCAT_NULL_YIELDS_NULL="true" ANSI_NULLS="true" ANSI_PADDING="true" ANSI_WARNINGS="true" NUMERIC_ROUNDABORT
="false"/> 5 <QueryPlan CachedPlanSize="16" CompileTime="0" CompileCPU="0" CompileMemory="152"> 6 <MemoryGrantInfo SerialRequiredMemory="0" SerialDesiredMemory="0"/> 7 <OptimizerHardwareDependentProperties EstimatedAvailableMemoryGrant="209715" EstimatedPagesCached="26214" EstimatedAvailableDegreeOfParallelism
="2" MaxCompileMemory="3112816"/> 8 <RelOp NodeId="0" PhysicalOp="Table Scan" LogicalOp="Table Scan" EstimateRows="2000" EstimateIO="0.0238657" EstimateCPU="0.011157" AvgRowSize="19" EstimatedTotalSubtreeCost="0.0350227" TableCardinality="10000" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row"> 9 <OutputList>10 <ColumnReference Database="[AdventureWorks2014]" Schema="[dbo]" Table="[TEST]" Column="OBJECT_ID"/>11 <ColumnReference Database="[AdventureWorks2014]" Schema="[dbo]" Table="[TEST]" Column="NAME"/>12 </OutputList>13 <TableScan Ordered="0" ForcedIndex="0" ForceScan="0" NoExpandHint="0" Storage="RowStore">14 <DefinedValues>15 <DefinedValue>16 <ColumnReference Database="[AdventureWorks2014]" Schema="[dbo]" Table="[TEST]" Column="OBJECT_ID"/>17 </DefinedValue>18 <DefinedValue>19 <ColumnReference Database="[AdventureWorks2014]" Schema="[dbo]" Table="[TEST]" Column="NAME"/>20 </DefinedValue>21 </DefinedValues>22 <Object Database="[AdventureWorks2014]" Schema="[dbo]" Table="[TEST]" IndexKind="Heap" Storage="RowStore"/>23 <Predicate>24 <ScalarOperator ScalarString="[AdventureWorks2014].[dbo].[TEST].[OBJECT_ID]=[@Object_ID]">25 <Compare CompareOp="EQ">26 <ScalarOperator>27 <Identifier>28 <ColumnReference Database="[AdventureWorks2014]" Schema="[dbo]" Table="[TEST]" Column="OBJECT_ID"/>29 </Identifier>30 </ScalarOperator>31 <ScalarOperator>32 <Identifier>33 <ColumnReference Column="@Object_ID"/>34 </Identifier>35 </ScalarOperator>36 </Compare>37 </ScalarOperator>38 </Predicate>39 </TableScan>40 </RelOp>41 <ParameterList>42 <ColumnReference Column="@Object_ID" ParameterCompiledValue="(1)"/>43 </ParameterList>44 </QueryPlan>45 </StmtSimple>46 </Statements>47 </Batch>48 </BatchSequence>49 </ShowPlanXML>

相關推薦

Sql Server執行計劃的緩存機制

機制 大致 sql語句 color 內存 存儲過程 image 語法檢查 轉換 Sql查詢過程       當執行一個Sql語句或者存儲過程時, Sql Server的大致過程是 1. 對查詢語句進行分析,將其生成邏輯單元,並進行基本的語法檢查 2. 生成查詢樹(會將

SQL Server控制執行計劃

為了提高效能,可以使用提示(hints)特性,包含以下三類: 查詢提示:(query hints)告知優化器在整個查詢過程中都應用某個提示 關聯提示:(join hints)告知優化器在查詢的特定部分使用指定的關聯演算法 表提示:(table hints)告知優化器使用表掃描還是表上特定的索引 這是非

瞭解Sql Server執行計劃 看懂SqlServer查詢計劃 程式設計師眼中的 SQL Server執行計劃教會我如何建立索引?

閱讀目錄 如何啟動執行計劃 執行計劃結果要看什麼 Sql Server的五種查詢方式 檢視更具體的執行過程 參考資料   前一篇總結了Sql Server Profiler,它主要用來監控資料庫,並跟蹤生成的sql語句。但是隻拿到生成的sql語句沒有什麼用

使用oracle sql profile固定執行計劃

  2013-02-05 16:19:36 標籤: oracle sql profile 版權宣告:原創作品,如需轉載,請與作者聯絡。否則將追究法律責任。 使用sql profile固

SQL Server實際執行計劃COST"欺騙"案例

但是需要再次注意,執行計劃在欺騙你,首先,它意味著只調用了UDF一次,其實不是這樣。其次,從成本(Cost)來看,你可能會認為0%是向下舍入影響,因為單次執行函式的開銷如此之小,以至於執行100,000次的成本也很小。但如果你檢查執行計劃的功能迭代器的屬性,你會發現所有的操作代價和子樹代價實際的估計為0,這是

瞭解Sql Server執行計劃

  前一篇總結了Sql Server Profiler,它主要用來監控資料庫,並跟蹤生成的sql語句。但是隻拿到生成的sql語句沒有什麼用,我們可以利用這些sql語句,然後結合執行計劃來分析sql語句的效能問題,這才是我們的最終目的,那麼如何使用執行計劃呢?我準備從以下幾點來總結。 如何啟動執行計劃

程式設計師眼中的 SQL Server執行計劃教會我如何建立索引?

先說點廢話 以前有 DBA 在身邊的時候,從來不曾考慮過資料庫效能的問題,但是,當一個應用程式從頭到腳都由自己完成,而且資料庫面對的是接近百萬的資料,看著一個頁面載入速度像烏龜一樣,自己心裡真是有種挫敗感。程式碼的優化問題,這是屬於程式設計師的職責範圍之內,對於我來說,這一方面比較好探查些,因為都是自己熟悉的

SQL Server如何固定執行計劃

1 <Batch> 2 <Statements> 3 <StmtSimple StatementText="SELECT * FROM TEST WHERE [email protected]_ID" StatementId="1" StatementCompId=

SQL BASELINE修改固定執行計劃

  SQL BASELINE修改固定執行計劃  2011-06-10 12:50:51 分類: Linux http://www.itpub.net/thread-1445125-1-1.html

SPM匯總學習(固定執行計劃by plan_hash_value)

_id 默認 進行 集中 wid aac das value constant ------sql plans(plan_hash_value) select ss.plan_hash_value phv, to_char(s.begin_in

sql Server如何執行批量插入和批量刪除

emc pcs -- frog bps eno bbu ads spc 平時我們sql server執行查詢語句都是通過 insert into 表名(字段名,字段名) values(插入值,插入值) --單條插入語句--- insert into Reader(read

SQL Server 運行計劃操作符具體解釋(2)——串聯(Concatenation )

-s 而且 article font order close 格式 聚集索引 content 本文接上文:SQL Server 運行計劃操作符具體解釋(1)——斷言(Assert)前言: 依據計劃。本文開始講述另外一個操作符串聯(Concatenation)。讀者能夠依

淺談SQL Server內部執行機制

        對於已經很熟悉T-SQL的讀者,或者對於較專業的DBA來說,邏輯的增刪改查,或者較複雜的SQL語句,都是非常簡單的,不存在任何挑戰,不值得一提,那麼,SQL的哪些方面是他們的挑戰 或者軟肋呢? 那就是sql優化。然而,要向成為一個好的Sql優化高手,首

Oracle 固定執行計劃--sqlprofile

步驟一-------------------------建立測試表,根據DBA_OBJECTS建立,OBJECT_ID上有索引 Create table test as select * from dba_objects; create index t_1 on test(t

SSIS最佳實踐:SQL Server提升執行效能

SQL Server整合服務(SQL Server Integration Services,SSIS)在其前輩DTS(Data Transformation Services,資料轉換服務)的基礎上進步了不少,從可用性、效能和並行等方面來說,它已經成長為一個企業級ETL(Extractio

深入解析SQL Server並行執行原理及實踐(上)

在成熟領先的企業級資料庫系統中,並行查詢可以說是一大利器,在某些場景下它可以顯著地提升查詢的相應時間,提升使用者體驗。如SQL Server、Oracle等, MySQL目前還未實現,而PostgreSQL在2015實現了並行掃描,相信他們也在朝著更健壯的企業級資料庫邁進。RDBMS中並行執行的實現

獲得sql server最近執行sql語句

select top 1000 s2.dbid, DB_NAME(s2.dbid) as [dbname], (select top 1 substring(s2.text,statement_start_offset/2+1, ((case when statement_

SQL Server 提高執行效率的16種方法

1.儘量不要在where中包含子查詢; 關於時間的查詢,儘量不要寫成:where to_char(dif_date,’yyyy-mm-dd’)=to_char(’2007-07-01′,’yyyy-m

SQL Server定時執行SQL語句

企業管理器     --管理     --SQL   Server代理     --右鍵作業     --新建作業     --"常規"項中輸入作業名稱     --"步驟"項     --新建     --"步驟名"中輸入步驟名     --"型別"中選擇"Transact-SQL   指令碼(TSQL)"

v$sql——儲存的是具體的SQL語句和執行計劃相關資訊!

如果知道了session的sid就可以找到當前session正在執行的sql: SQL> select sql_text,fetches,executions,parse_calls,disk_reads,cpu_time,elapsed_time from v$s