<optgroup id="r9hwm"></optgroup><nav id="r9hwm"><label id="r9hwm"></label></nav>

    <tt id="r9hwm"><tr id="r9hwm"></tr></tt>
  1. 
    
  2. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

  3. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

        1. <listing id="r9hwm"></listing>
          <delect id="r9hwm"></delect>
          <optgroup id="r9hwm"><samp id="r9hwm"><ol id="r9hwm"></ol></samp></optgroup>

          sql測試語句

          如何測試sql語句性能,提高執行效率

          有時候我們經常為我們的sql語句執行效率低下發愁,反復優化后,可還是得不到提高

          那么你就用這條語句找出你sql到底是在哪里慢了

          示例:

          SET STATISTICS io ON

          SET STATISTICS time

          ON

          go

          ---你要測試的sql語句

          select top 100 * from

          TBL_Cot_RecStaticList

          go

          SET STATISTICS profile

          OFF

          SET STATISTICS io OFF

          SET STATISTICS time OFF

          顯示信息:

          SQL Server 分析和編譯時間:

          CPU 時間 = 0 毫秒,占用時間 = 59 毫秒。

          (100 行受影響) 表 'TBL_Cot_RecStaticList'。掃描計數 1,邏輯讀取 14 次,物理讀取 2

          次,預讀 992 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。

          SQL Server 執行時間: CPU 時間 = 0 毫秒,占用時間 = 306 毫秒。

          SQL Server 分析和編譯時間: CPU 時間 = 0 毫秒,占用時間 = 1 毫秒。

          SQL Server 執行時間: CPU 時間 = 0 毫秒,占用時間 = 1 毫秒。

          SQL Server 執行時間: CPU 時間 = 0 毫秒,占用時間 = 1 毫秒。

          詢問sql語句優化測試方法以下2句怎么測試出哪句性能更好?sel - 愛問

          這兩個SQL語句看起來都未能使用上索引,都是tablescan表掃操作,但是第一個SQL語句用了兩個LIKE,一個NULL的判斷。

          一般情況下,IS NOT NULL比IS NULL的判斷更耗費資源。第二個SQL語句用了+運算和一個LIKE,好象比第一個性能要好一些。

          但是當我在ASA中,隨意造了一個將近60萬條數據的堆表后,分別在PB中執行Explain SQL,分別顯示上面兩個SQL語句的執行計劃如下(表名我用的是test,字段分別是aa,bb): 1:( Plan [ Total Cost Estimate: 32.96008 ] ( TableScan test[ ( ( * >= '' : 100% Statistics ) AND ( * LIKE '%轉讓%' : 100% Computed ) ) OR ( ( >= '' : 100% Statistics ) AND ( LIKE '%轉讓%' : 100% Computed ) ) : 100% Combined ] ) ) 2:( Plan [ Total Cost Estimate: 32.96008 ] ( TableScan test[ ( expr( *, ) >= '' : 25% Guess ) AND ( expr( *, ) LIKE '%轉讓%' : 100% Computed ) ] ) ) 結果是兩個SQL語句的Total Cost Estimate都是一樣,所以直接從表面上看,很難判斷究竟哪個SQL性能更優,建議最好能夠在實際執行環境中測試一下。當然WHERE條件越簡單,并且能夠優化使用上索引是最好的!。

          PL/SQl怎么測試一個sql語句的性能

          一段SQL代碼寫好以后,可以通過查看SQL的執行計劃,初步預測該SQL在運行時的性能好壞,尤其是在發現某個SQL語句的效率較差時,我們可以通過查看執行計劃,分析出該SQL代碼的問題所在。

          1、 打開熟悉的查看工具:PL/SQL Developer。

          在PL/SQL Developer中寫好一段SQL代碼后,按F5,PL/SQL Developer會自動打開執行計劃窗口,顯示該SQL的執行計劃。

          2、 查看總COST,獲得資源耗費的總體印象

          一般而言,執行計劃第一行所對應的COST(即成本耗費)值,反應了運行這段SQL的總體估計成本,單看這個總成本沒有實際意義,但可以拿它與相同邏輯不同執行計劃的SQL的總體COST進行比較,通常COST低的執行計劃要好一些。

          3、 按照從左至右,從上至下的方法,了解執行計劃的執行步驟

          執行計劃按照層次逐步縮進,從左至右看,縮進最多的那一步,最先執行,如果縮進量相同,則按照從上而下的方法判斷執行順序,可粗略認為上面的步驟優先執行。每一個執行步驟都有對應的COST,可從單步COST的高低,以及單步的估計結果集(對應ROWS/基數),來分析表的訪問方式,連接順序以及連接方式是否合理。

          4、 分析表的訪問方式

          表的訪問方式主要是兩種:全表掃描(TABLE ACCESS FULL)和索引掃描(INDEX SCAN),如果表上存在選擇性很好的索引,卻走了全表掃描,而且是大表的全表掃描,就說明表的訪問方式可能存在問題;若大表上沒有合適的索引而走了全表掃描,就需要分析能否建立索引,或者是否能選擇更合適的表連接方式和連接順序以提高效率。

          5、 分析表的連接方式和連接順序

          表的連接順序:就是以哪張表作為驅動表來連接其他表的先后訪問順序。

          表的連接方式:簡單來講,就是兩個表獲得滿足條件的數據時的連接過程。主要有三種表連接方式,嵌套循環(NESTED LOOPS)、哈希連接(HASH JOIN)和排序-合并連接(SORT MERGE JOIN)。我們常見得是嵌套循環和哈希連接。

          嵌套循環:最適用也是最簡單的連接方式。類似于用兩層循環處理兩個游標,外層游標稱作驅動表,Oracle檢索驅動表的數據,一條一條的代入內層游標,查找滿足WHERE條件的所有數據,因此內層游標表中可用索引的選擇性越好,嵌套循環連接的性能就越高。

          哈希連接:先將驅動表的數據按照條件字段以散列的方式放入內存,然后在內存中匹配滿足條件的行。哈希連接需要有合適的內存,而且必須在CBO優化模式下,連接兩表的WHERE條件有等號的情況下才可以使用。哈希連接在表的數據量較大,表中沒有合適的索引可用時比嵌套循環的效率要高。

          如何分析SQL語句 -

          多時候,我們不太清楚自己寫的SQL語句好還是不好,往往數據量一大,程序運行變慢。

          其實在SQL/PLUS里可以很清晰的分析出SQL語句的執行計劃,它可以提醒我們來創建索引或改變SQL語句的寫法。 先在sys用戶下運行@/ORACLE_HOME/sqlplus/admin/*內容:set echo ondrop role plustrace;create role plustrace;grant select on v_$sesstat to plustrace;grant select on v_$statname to plustrace;grant select on v_$session to plustrace;grant plustrace to dba with admin option;set echo off產生plustrace角色,然后在sys用戶下把此角色賦予一般用戶&usernameSQL> grant plustrace to &username; 然后找到/ORACLE_HOME/rdbms/admin/*,然后在當前用戶SQL>下運行,它創建一個plan_table,用來存儲分析SQL語句的結果。

          create table PLAN_TABLE ( statement_id varchar2(30), timestamp date, remarks varchar2(80), operation varchar2(30), options varchar2(30), object_node varchar2(128), object_owner varchar2(30), object_name varchar2(30), object_instance numeric, object_type varchar2(30), optimizer varchar2(255), search_columns number, id numeric, parent_id numeric, position numeric, cost numeric, cardinality numeric, bytes numeric, other_tag varchar2(255), partition_start varchar2(255), partition_stop varchar2(255), partition_id numeric, other long, distribution varchar2(30)); 在SQL/PLUS的窗口運行以下命令 set time on; (說明:打開時間顯示) set autotrace on; (說明:打開自動分析統計,并顯示SQL語句的運行結果) set autotrace traceonly; (說明:打開自動分析統計,不顯示SQL語句的運行結果) 接下來你就運行測試SQL語句,看到其分析統計結果了。一般來講,我們的SQL語句應該避免對大表的全表掃描。

          關閉以上功能,在SQL/PLUS的窗口運行以下命令 set time off; (說明:關閉時間顯示) set autotrace off; (說明:關閉自動分析統計)。

          轉載請注明出處華閱文章網 » sql測試語句

          短句

          sqlserver執行語句

          閱讀(245)

          怎么利用sql server日志查看執行的語句 --1.第一種測試方法declare @begin datetime,@end datetimeset @begin =getdate(){你所要測試的sql語句}set @end=getdate()PRINT

          短句

          婚姻的經典語句

          閱讀(267)

          婚姻經典名言名句大全-搜狗問問 1、有的丈夫之所以是好丈夫,就是因為他把每個月的收入先花在房貸、家用、孩子和儲備上,再把剩下來的錢給妻子買衣服、買禮物,如果還有結余他才會給自己買東西,如果他的妻子也是這樣做的,那他們的家庭就會很溫

          短句

          優美的語句大全

          閱讀(242)

          優美句子大全 ●湖是活的,層層鱗浪隨風而起,伴著跳躍的陽光,伴著我的心,在追逐,再嬉戲。 ●湖水在枯草叢里微微低語,遠處不時傳來一兩只小鴨的撲翅聲,使月夜的湖面更顯得孤寂和冷清。 ●數葉白帆,在這水天一色金光閃閃的海面上,就像幾片雪白的羽

          短句

          形容帥的語句

          閱讀(283)

          形容男主角帥的語句 沒有人能直視他的眼睛,凝重卻深情,仿佛他銳利的目光可以穿透你的心。陽光打在他筆挺的鼻梁上,順著嘴角好看的弧度泄了下來,灑滿他潔凈的衣襟,長長的頭發搭在肩上,在微風中若起若浮,顯得英氣十足。俊朗的外表,一襲白色的長袍

          短句

          update語句access

          閱讀(489)

          什么在ACCess的數據庫啟動update語句 以ACCESS 2003為例,操作方法如下。首先,打開access數據庫,數據庫的左邊有“表”、“查詢”、“報表”等選項卡,選擇“查詢”,然后點擊“新

          短句

          sql語句軟件

          閱讀(327)

          SQL是哪個公司的軟件 SQL做為軟件的簡稱,指的是微軟公司Microsoft 的 SQL Server數據庫管理系統。SQL Server 是一個關系數據庫管理系統,它最初是由Microsoft Sybase 和Ashto

          短句

          sql語句notin怎么用

          閱讀(518)

          sql語句not in 和not exist各自的用法和區別 in 和 exists也是很好區別的.in 是一個集合運算符.a in {a,c,d,s,d。.}這個運算中,前面是一個元素,后面是一個集合,集合中的元素類型是和前面的元素一樣的. 而exists

          短句

          在c語言的if語句中

          閱讀(289)

          C語言中if語句的三種形式到底是怎樣的 1)簡化形式if(表達式) 語句塊 如: if(x>y) printf(“%d”,x); 2)一般形式if (表達式) 語句塊1 else 語句塊2例如:if (x>y)printf(“max=%d”,

          短句

          sql語句練習

          閱讀(261)

          兩個SQL語言練習題一、有兩張表USER(uid,name,te 1。SQL-Server的SQL select * from USER where uid in(select top 2 uid from KEYWORDS group by uid or

          短句

          c語言的條件語句

          閱讀(286)

          C語言中的的if語句共有多少種格式 3種形式1、 第一種形式為基本形式:ifif(表達式) 語句其語義是:如果表達式的值為真,則執行其后的語句,否則不執行該語句。2、第二種形式為: if-el

          短句

          英語句子大全小學

          閱讀(227)

          小學英語句子大全 I. Reception入園接待 1. Hi! / Hello! 你好! 2. Good morning. 早上好。 3. Hello, nice to meet you. / Nice to see you. 你好,見到你真高興。 4.

          短句

          忘記語句

          閱讀(260)

          忘記過去的傷感句子 1.不爭朝夕,不談悲喜,寧靜,安然。2.多希望身邊有個你,可以溫暖我身邊的空氣3.經常被人誤解,可是又懶得解釋。4.我知道有些東西已經在我不知不覺中改變了5.不要在十六七歲愛上誰,因為那個人會是你最愛的人。6.偽裝的再好,也

          短句

          平靜語句

          閱讀(241)

          描寫安靜的句子 同學們異常的安靜,我聽到老師手表微弱嘀嗒聲 .夜靜得像一潭水,似乎所有的生靈都已經睡了,一切顯得那么安謐…… 安靜的連一根針掉下來的聲音都聽得見.靜謐的

          短句

          vb賦值語句=

          閱讀(272)

          vb賦值語句 題主你好,And 是一個邏輯運算符(邏輯“與”),注意關鍵詞,是一個運!算!符!什么是運算符呢?舉例子:+、-、*、÷、Mod(取模運算符)……等等等等。當左右兩端均為 True 時,返回 True;否則返回 False。所以不要看左右兩端都是

          短句

          sqlserver執行語句

          閱讀(245)

          怎么利用sql server日志查看執行的語句 --1.第一種測試方法declare @begin datetime,@end datetimeset @begin =getdate(){你所要測試的sql語句}set @end=getdate()PRINT

          短句

          婚姻的經典語句

          閱讀(267)

          婚姻經典名言名句大全-搜狗問問 1、有的丈夫之所以是好丈夫,就是因為他把每個月的收入先花在房貸、家用、孩子和儲備上,再把剩下來的錢給妻子買衣服、買禮物,如果還有結余他才會給自己買東西,如果他的妻子也是這樣做的,那他們的家庭就會很溫

          短句

          優美的語句大全

          閱讀(242)

          優美句子大全 ●湖是活的,層層鱗浪隨風而起,伴著跳躍的陽光,伴著我的心,在追逐,再嬉戲。 ●湖水在枯草叢里微微低語,遠處不時傳來一兩只小鴨的撲翅聲,使月夜的湖面更顯得孤寂和冷清。 ●數葉白帆,在這水天一色金光閃閃的海面上,就像幾片雪白的羽

          短句

          形容帥的語句

          閱讀(283)

          形容男主角帥的語句 沒有人能直視他的眼睛,凝重卻深情,仿佛他銳利的目光可以穿透你的心。陽光打在他筆挺的鼻梁上,順著嘴角好看的弧度泄了下來,灑滿他潔凈的衣襟,長長的頭發搭在肩上,在微風中若起若浮,顯得英氣十足。俊朗的外表,一襲白色的長袍

          短句

          sql語句軟件

          閱讀(327)

          SQL是哪個公司的軟件 SQL做為軟件的簡稱,指的是微軟公司Microsoft 的 SQL Server數據庫管理系統。SQL Server 是一個關系數據庫管理系統,它最初是由Microsoft Sybase 和Ashto

          短句

          update語句access

          閱讀(489)

          什么在ACCess的數據庫啟動update語句 以ACCESS 2003為例,操作方法如下。首先,打開access數據庫,數據庫的左邊有“表”、“查詢”、“報表”等選項卡,選擇“查詢”,然后點擊“新

          短句

          sql語句notin怎么用

          閱讀(518)

          sql語句not in 和not exist各自的用法和區別 in 和 exists也是很好區別的.in 是一個集合運算符.a in {a,c,d,s,d。.}這個運算中,前面是一個元素,后面是一個集合,集合中的元素類型是和前面的元素一樣的. 而exists

          短句

          跳出循環的語句

          閱讀(423)

          怎么跳出這個for循環 在for循環語句中執行break語句,即可跳出該for循環。 break 在一些計算機編程語言中是保留字,其作用大多情況下是終止所在層的循環。在 C語言 的 switch(開關語句)或for循環語句中,break 語句可用來在執行完一

          <optgroup id="r9hwm"></optgroup><nav id="r9hwm"><label id="r9hwm"></label></nav>

            <tt id="r9hwm"><tr id="r9hwm"></tr></tt>
          1. 
            
          2. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

          3. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

                1. <listing id="r9hwm"></listing>
                  <delect id="r9hwm"></delect>
                  <optgroup id="r9hwm"><samp id="r9hwm"><ol id="r9hwm"></ol></samp></optgroup>
                  亚洲丰满少妇xxxxx高潮