精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

explain 中文man頁面

系統
這條命令顯示PostgreSQL規劃器為所提供的語句生成的執行規劃。 執行規劃顯示語句引用的表是如何被掃描的--- 是簡單的順序掃描,還是索引掃描等 --- 并且如果引用了多個表, 采用了什么樣的連接算法從每個輸入的表中取出所需要的記錄。

NAME

EXPLAIN - 顯示語句執行規劃

SYNOPSIS

EXPLAIN [ ANALYZE ] [ VERBOSE ] statement

DESCRIPTION 描述


 這條命令顯示PostgreSQL規劃器為所提供的語句生成的執行規劃。 執行規劃顯示語句引用的表是如何被掃描的--- 是簡單的順序掃描,還是索引掃描等 --- 并且如果引用了多個表, 采用了什么樣的連接算法從每個輸入的表中取出所需要的記錄。


 顯示出來的最關鍵的部分是預計的語句執行開銷, 這就是規劃器對運行該語句所需時間的估計(以磁盤頁面存取為單位計量)。 實際上顯示了兩個數字:返回***行記錄前的啟動時間, 和返回所有記錄的總時間。對于大多數查詢而言,關心的是總時間,但是, 在某些環境下,比如一個 EXISTS 子查詢里, 規劃器將選擇最小啟動時間而不是最小總時間(因為執行器在獲取一條記錄后總是要停下來)。 同樣,如果你用一條 LIMIT 子句限制返回的記錄數, 規劃器會在最終的開銷上做一個合理的插值以計算哪個規劃開銷最省。

ANALYZE 選項導致查詢被實際執行,而不僅僅是規劃。 它在顯示中增加了在每個規劃節點內部花掉的總時間(以毫秒計)和它實際返回的行數。 這些數據對搜索該規劃器的預期是否和現實相近很有幫助。

Important:
 要記住的是查詢實際上在使用 ANALYZE 的時候是執行的。 盡管 EXPLAIN 會拋棄任何 SELECT 會返回的輸出, 但是其它查詢的副作用還是一樣會發生的。 如果你在 INSERT,UPDATE,DELETE,或者 EXECUTE 語句里使用 EXPLAIN ANALYZE,而且還不想讓查詢影響你的數據, 用下面的方法:
BEGIN;
EXPLAIN ANALYZE ...;
ROLLBACK;

PARAMETERS 參數

ANALYZE

 執行命令并顯示實際運行時間。
VERBOSE

 顯示規劃樹完整的內部表現形式,而不僅僅是一個摘要。通常,這個選項只是在調試 PostgreSQL 的時候有用。 VERBOSE 輸出可能是打印得工整的,也可能不是, 具體取決于配置參數 explain_pretty_print。
statement

 任何 SELECTINSERTUPDATE, DELETE, EXECUTE, 或 DECLARE 語句。

NOTES 注意


 在 PostgreSQL 里只有很少的一些文檔介紹有關優化器計算開銷的問題。參考 Section 13.1 ``Using EXPLAIN'' 獲取更多信息。


 為了讓 PostgreSQL 查詢規劃器在優化查詢的時候做出合理的判斷, 我們需要運行 ANALYZE 語句以記錄有關數據在表中的分布的統計信息。 如果你沒做過這件事情(或者如果自上次 ANALYZE 以來, 表中的數據統計分布發生了顯著變化),那么計算出來的開銷預計很可能與查詢的實際屬性并不對應, 因此很可能會選取一個比較差的查詢規劃。


 在 PostgreSQL 7.3 以前,查詢規劃是以 NOTICE 消息的形式發出來的。 現在它的顯示格式是一個查詢結果(格式化成了類似一個有單個文本字段的表。)  

EXAMPLES 例子


 顯示一個對只有一個 int4 列和 10000 行的表的簡單查詢的查詢規劃:

EXPLAIN SELECT * FROM foo;

                       QUERY PLAN
---------------------------------------------------------
 Seq Scan on foo  (cost=0.00..155.00 rows=10000 width=4)
(1 row)


 如果存在一個索引,并且我們使用一個可應用索引的 WHERE 條件的查詢, EXPLAIN 會顯示不同的規劃:

EXPLAIN SELECT * FROM foo WHERE i = 4;

                         QUERY PLAN
--------------------------------------------------------------
 Index Scan using fi on foo  (cost=0.00..5.98 rows=1 width=4)
   Index Cond: (i = 4)
(2 rows)


 下面是一個使用了聚集函數的查詢的查詢規劃:

EXPLAIN SELECT sum(i) FROM foo WHERE i < 10;

                             QUERY PLAN
---------------------------------------------------------------------
 Aggregate  (cost=23.93..23.93 rows=1 width=4)
   ->  Index Scan using fi on foo  (cost=0.00..23.92 rows=6 width=4)
         Index Cond: (i < 10)
(3 rows)


 下面是一個使用 EXPLAIN EXECUTE 顯示一個已準備好的查詢規劃的例子:

PREPARE query(int, int) AS SELECT sum(bar) FROM test
    WHERE id > $1 AND id < $2
    GROUP BY foo;

EXPLAIN ANALYZE EXECUTE query(100, 200);

                                                       QUERY PLAN                                                        
-------------------------------------------------------------------------------------------------------------------------
 HashAggregate  (cost=39.53..39.53 rows=1 width=8) (actual time=0.661..0.672 rows=7 loops=1)
   ->  Index Scan using test_pkey on test  (cost=0.00..32.97 rows=1311 width=8) (actual time=0.050..0.395 rows=99 loops=1)
         Index Cond: ((id > $1) AND (id < $2))
 Total runtime: 0.851 ms
(4 rows)


 注意這里顯示的數字, 甚至還有選擇的查詢策略都有可能在各個 PostgreSQL版本之間不同--因為規劃器在不斷改進。 另外,ANALYZE 命令使用隨機的采樣來估計數據統計; 因此,一次新的 ANALYZE 運行之后開銷估計可能會變化, 即使數據的實際分布沒有改變也這樣。  

COMPATIBILITY 兼容性


 在 SQL 標準中沒有EXPLAIN 語句。  

#p#

NAME

EXPLAIN - show the execution plan of a statement

SYNOPSIS

EXPLAIN [ ANALYZE ] [ VERBOSE ] statement

DESCRIPTION

This command displays the execution plan that the PostgreSQL planner generates for the supplied statement. The execution plan shows how the table(s) referenced by the statement will be scanned---by plain sequential scan, index scan, etc.---and if multiple tables are referenced, what join algorithms will be used to bring together the required row from each input table.

The most critical part of the display is the estimated statement execution cost, which is the planner's guess at how long it will take to run the statement (measured in units of disk page fetches). Actually two numbers are shown: the start-up time before the first row can be returned, and the total time to return all the rows. For most queries the total time is what matters, but in contexts such as a subquery in EXISTS, the planner will choose the smallest start-up time instead of the smallest total time (since the executor will stop after getting one row, anyway). Also, if you limit the number of rows to return with a LIMIT clause, the planner makes an appropriate interpolation between the endpoint costs to estimate which plan is really the cheapest.

The ANALYZE option causes the statement to be actually executed, not only planned. The total elapsed time expended within each plan node (in milliseconds) and total number of rows it actually returned are added to the display. This is useful for seeing whether the planner's estimates are close to reality.

Important: Keep in mind that the statement is actually executed when ANALYZE is used. Although EXPLAIN will discard any output that a SELECT would return, other side effects of the statement will happen as usual. If you wish to use EXPLAIN ANALYZE on an INSERT, UPDATE, DELETE, or EXECUTE statement without letting the command affect your data, use this approach:
BEGIN;
EXPLAIN ANALYZE ...;
ROLLBACK;

PARAMETERS

ANALYZE
Carry out the command and show the actual run times.
VERBOSE
Show the full internal representation of the plan tree, rather than just a summary. Usually this option is only useful for debugging PostgreSQL. The VERBOSE output is either pretty-printed or not, depending on the setting of the explain_pretty_print configuration parameter.
statement
Any SELECT, INSERT, UPDATE, DELETE, EXECUTE, or DECLARE statement, whose execution plan you wish to see.

NOTES

There is only sparse documentation on the optimizer's use of cost information in PostgreSQL. Refer to the section called ``Using EXPLAIN'' in the documentation for more information.

In order to allow the PostgreSQL query planner to make reasonably informed decisions when optimizing queries, the ANALYZE statement should be run to record statistics about the distribution of data within the table. If you have not done this (or if the statistical distribution of the data in the table has changed significantly since the last time ANALYZE was run), the estimated costs are unlikely to conform to the real properties of the query, and consequently an inferior query plan may be chosen.

Prior to PostgreSQL 7.3, the plan was emitted in the form of a NOTICE message. Now it appears as a query result (formatted like a table with a single text column).  

EXAMPLES

To show the plan for a simple query on a table with a single integer column and 10000 rows:

EXPLAIN SELECT * FROM foo;

                       QUERY PLAN
---------------------------------------------------------
 Seq Scan on foo  (cost=0.00..155.00 rows=10000 width=4)
(1 row)

If there is an index and we use a query with an indexable WHERE condition, EXPLAIN might show a different plan:

EXPLAIN SELECT * FROM foo WHERE i = 4;

                         QUERY PLAN
--------------------------------------------------------------
 Index Scan using fi on foo  (cost=0.00..5.98 rows=1 width=4)
   Index Cond: (i = 4)
(2 rows)

And here is an example of a query plan for a query using an aggregate function:

EXPLAIN SELECT sum(i) FROM foo WHERE i < 10;

                             QUERY PLAN
---------------------------------------------------------------------
 Aggregate  (cost=23.93..23.93 rows=1 width=4)
   ->  Index Scan using fi on foo  (cost=0.00..23.92 rows=6 width=4)
         Index Cond: (i < 10)
(3 rows)

Here is an example of using EXPLAIN EXECUTE to display the execution plan for a prepared query:

PREPARE query(int, int) AS SELECT sum(bar) FROM test
    WHERE id > $1 AND id < $2
    GROUP BY foo;

EXPLAIN ANALYZE EXECUTE query(100, 200);

                                                       QUERY PLAN                                                        
-------------------------------------------------------------------------------------------------------------------------
 HashAggregate  (cost=39.53..39.53 rows=1 width=8) (actual time=0.661..0.672 rows=7 loops=1)
   ->  Index Scan using test_pkey on test  (cost=0.00..32.97 rows=1311 width=8) (actual time=0.050..0.395 rows=99 loops=1)
         Index Cond: ((id > $1) AND (id < $2))
 Total runtime: 0.851 ms
(4 rows)

Of course, the specific numbers shown here depend on the actual contents of the tables involved. Also note that the numbers, and even the selected query strategy, may vary between PostgreSQL releases due to planner improvements. In addition, the ANALYZE command uses random sampling to estimate data statistics; therefore, it is possible for cost estimates to change after a fresh run of ANALYZE, even if the actual distribution of data in the table has not changed.  

COMPATIBILITY

There is no EXPLAIN statement defined in the SQL standard.

責任編輯:韓亞珊 來源: CMPP.net
相關推薦

2011-08-24 16:48:36

man中文man

2011-08-15 10:21:09

man中文man

2011-08-11 16:11:49

at中文man

2011-08-25 10:21:56

man.conf中文man

2011-08-16 10:21:13

setconsole中文man

2011-08-24 17:06:42

NOTIFY中文man

2011-08-16 09:32:01

quotaoff中文man

2011-08-23 18:05:21

ABORT中文man

2011-08-25 18:14:26

tcflow中文man

2011-08-25 16:55:26

gets中文man

2011-08-12 11:07:19

git中文man

2011-08-25 17:30:26

setbuf中文man

2011-08-15 13:14:44

rmdir中文man

2011-08-24 17:00:04

netdevice中文man

2011-11-01 13:46:50

中文mantac

2011-08-15 09:55:01

ls中文man

2011-08-24 16:20:09

load中文man

2011-08-25 15:47:06

fopen中文man

2011-08-25 16:25:30

fputs中文man

2011-08-25 10:49:28

rpc中文man
點贊
收藏

51CTO技術棧公眾號

999日本视频| 欧美毛片免费观看| 国产美女久久久久| 久久久噜噜噜久久中文字免| 免费a v网站| 91p九色成人| 夜夜爽夜夜爽精品视频| 蜜桃999成人看片在线观看| 中文字字幕在线观看| 一区三区视频| 色偷偷偷综合中文字幕;dd| 日本r级电影在线观看| 日本黄色免费在线| 亚洲日本电影在线| 欧美一二三区| 精品黑人一区二区三区在线观看| 国产亚洲综合精品| 另类少妇人与禽zozz0性伦| 看全色黄大色黄女片18| 涩涩涩久久久成人精品| 精品久久久香蕉免费精品视频| 亚洲v日韩v欧美v综合| 亚洲精品一区二区三区区别| 日日夜夜一区二区| 久久久久久一区二区三区| 老司机福利在线观看| 久久99精品国产自在现线| 欧美日韩国产一区| 玩弄japan白嫩少妇hd| 毛片在线导航| 亚洲色图19p| 亚洲二区三区四区| 狠狠狠综合7777久夜色撩人 | 麻豆国产va免费精品高清在线| 国产精品伦子伦| 亚洲一区二区电影| 3d动漫精品啪啪| 成人免费视频久久| 午夜av不卡| 亚洲第一主播视频| 4444亚洲人成无码网在线观看| 在线观看免费网站黄| 久久久99久久| 免费国产一区二区| 亚洲日本中文字幕在线| 9久草视频在线视频精品| 日韩美女免费观看| 影音先锋在线国产| 久久不射中文字幕| 欧美在线视频播放| 91在线视频在线观看| 国产亚洲福利| 欧美一区三区三区高中清蜜桃| 国产在线一区视频| 一本一本久久| 欧美一区二三区| 日本黄色中文字幕| 男人的j进女人的j一区| 国产精品视频网址| 伊人免费在线观看高清版| 美日韩一区二区三区| 国产美女精品免费电影| 一级黄色片在线看| 国产成人综合在线播放| 国产精品国产一区二区| 日韩一级片免费| 26uuuu精品一区二区| 色综合久久久久久久久五月| jizz亚洲| 亚洲免费av网站| 国产免费一区二区三区四在线播放| 岛国成人毛片| 午夜视频在线观看一区| av免费在线播放网站| 在线成人视屏 | 亚洲精品免费在线观看视频| www.视频一区| 欧美一级日本a级v片| www.中文字幕久久久| 亚洲色图20p| 欧美视频在线免费播放| 日韩av中字| 在线成人免费观看| 蜜桃色一区二区三区| 亚洲色图美女| 日韩在线免费高清视频| 欧美成人免费看| 麻豆九一精品爱看视频在线观看免费| 国产精品老女人精品视频| 99精品在线看| 91色porny蝌蚪| 伊人久久大香线蕉午夜av| 影音先锋在线播放| 欧美性猛xxx| 日韩精品aaa| 米奇精品关键词| 色天天综合狠狠色| 日韩三级av在线| 免费看黄色91| 国产成人精品免费视频大全最热| 人成在线免费视频| 亚洲欧美偷拍三级| 波多野结衣作品集| 91精品久久久久久综合五月天| 亚洲人成网站色ww在线| www青青草原| 视频一区视频二区中文字幕| 97人摸人人澡人人人超一碰| 高清在线观看av| 亚洲超丰满肉感bbw| 蜜臀一区二区三区精品免费视频| 精品福利一区| yellow中文字幕久久| 日本在线播放视频| 国产精品1024| 伊人av成人| 欧美电影网站| 日韩av在线一区二区| 亚洲国产精品免费在线观看| 日韩av在线发布| 国产伦精品一区二区三毛| 在线免费观看黄色| 色综合久久综合网| 国产一级二级视频| 国产精品chinese| 91沈先生作品| 137大胆人体在线观看| 欧美性猛交xxx| 少妇一级淫片免费放播放| 亚洲一区 二区 三区| 国产精品露脸自拍| 美女欧美视频在线观看免费 | 久久久久久久久久久久久久久久久久av| 国内av在线播放| 91免费小视频| 91av资源网| 韩国精品福利一区二区三区| 欧美成人午夜影院| 国产欧美日韩成人| 一区精品在线播放| 在线观看国产一级片| 成人黄色av| 国产精品久久久久久久久久小说| 色就是色亚洲色图| 欧美日韩亚洲视频| 亚洲第九十七页| 国产婷婷精品| 欧美国产一区二区在线| 欧美大片免费观看网址| 亚洲网在线观看| 乱子伦一区二区三区| 久久久久久亚洲综合| 国产一级不卡毛片| 欧美日韩老妇| 国产一区视频在线播放| 精品欧美色视频网站在线观看| 制服.丝袜.亚洲.另类.中文| www青青草原| 成人h版在线观看| 国产美女网站在线观看| 免费一区二区| 国产精品丝袜高跟| av网站在线免费| 精品久久久久久久久久久院品网| 日本熟妇色xxxxx日本免费看| 成人福利电影精品一区二区在线观看| 日韩a∨精品日韩在线观看| 日韩欧美在线精品| 国产精品96久久久久久| 男人天堂久久久| 欧美一激情一区二区三区| 久久在线视频精品| 91麻豆产精品久久久久久| 18岁视频在线观看| 婷婷丁香综合| 国产精品一区在线观看| 在线观看精品| 久久久精品美女| 天天操天天操天天| 日本国产一区二区| 99久久99久久精品国产| 粉嫩av一区二区三区粉嫩| 无码精品a∨在线观看中文| 精品免费视频| 97神马电影| 美女网站视频一区| 欧美成人午夜免费视在线看片| 神马电影在线观看| 精品视频在线免费观看| 久艹视频在线观看| 国产无遮挡一区二区三区毛片日本| 色天使在线观看| 黄色亚洲大片免费在线观看| 日韩精品电影网站| 国产精东传媒成人av电影| 国产精品久久久久久久久粉嫩av| 深夜国产在线播放| 伊人久久久久久久久久| 午夜精品在线播放| 欧美视频在线一区| 国产综合精品视频| 亚洲免费观看高清完整版在线| 波多野结衣av在线观看| 国产精品亚洲人在线观看| 凹凸日日摸日日碰夜夜爽1| 午夜久久久久| 亚洲一区二区三区午夜| 牛牛影视久久网| 亚洲va电影大全| 欧洲亚洲两性| 8x海外华人永久免费日韩内陆视频| 阿v免费在线观看| 伊人免费在线观看高清版| 青青草视频一区| 亚洲 高清 成人 动漫| 亚洲精品二区三区| 日韩精品国内| 欧美三级自拍| 99国产超薄肉色丝袜交足的后果| 欧亚一区二区| 欧美在线免费观看| av电影免费在线看| 久久亚洲影音av资源网| 国产福利小视频在线观看| 亚洲精品美女网站| 丰满人妻av一区二区三区| 777奇米成人网| 伊人久久中文字幕| 欧美日韩国产色| 久久久久久久9999| 亚洲精品一二三| 天天色影综合网| 中文字幕av一区二区三区| 国产又爽又黄无码无遮挡在线观看| 国产风韵犹存在线视精品| 污污视频网站在线| 开心九九激情九九欧美日韩精美视频电影| 91精品91久久久中77777老牛| 一区在线免费观看| 一本久道高清无码视频| 韩国av一区| 欧美一级免费播放| 国产综合视频| 免费视频爱爱太爽了| 国产一区日韩一区| 韩日视频在线观看| 黄色成人在线网址| 老太脱裤让老头玩ⅹxxxx| 亚洲小说欧美另类社区| 无码 制服 丝袜 国产 另类| 激情欧美一区二区三区| 国产自产在线视频| 一本久久知道综合久久| 久久综合色视频| 国产精品毛片| 妓院一钑片免看黄大片| 日本vs亚洲vs韩国一区三区| 亚洲一区日韩精品| 国产精品亚洲а∨天堂免在线| 韩国三级丰满少妇高潮| 国产999精品久久久久久绿帽| 中文字幕一区二区三区人妻在线视频| 成人性色生活片| 小毛片在线观看| 久久人人97超碰com| 日本一级免费视频| 中文字幕在线一区免费| 欧美毛片在线观看| 精品福利一区二区| 五月天中文字幕| 91精品中文字幕一区二区三区| 精品国产av 无码一区二区三区| 欧美成人欧美edvon| 国产精品国产高清国产| 一区二区三区亚洲| 成人短视频在线| 欧美一级淫片videoshd| 国内精品伊人| 国产不卡一区二区在线观看| 亚洲宅男一区| 亚洲欧洲久久| 日韩午夜免费| 天天插天天操天天射| 国产乱码一区二区三区| 人妻丰满熟妇av无码久久洗澡 | 国产精品婷婷| 91高清国产视频| 暴力调教一区二区三区| 五月激情四射婷婷| 午夜久久久久久久久| 日本成人一级片| 精品久久久久久亚洲综合网| 国产福利在线观看| 欧美激情一区二区三级高清视频 | 93在线视频精品免费观看| 国产91在线亚洲| 视频一区二区三区中文字幕| 国产不卡的av| 久久久久国产精品厨房| 欧美性猛交xxxxx少妇| 91国产免费观看| 高清一区二区三区四区| 中文字幕av一区中文字幕天堂| sis001亚洲原创区| 国产原创欧美精品| 九热爱视频精品视频| 亚洲 欧美 综合 另类 中字| 美女在线观看视频一区二区| 性欧美丰满熟妇xxxx性久久久| 国产精品久久久久久久久快鸭| 亚洲视频免费播放| 欧美一级夜夜爽| 91精品专区| 日韩av电影中文字幕| 亚洲一区二区三区四区电影| 亚洲综合网中心| 日韩国产欧美在线观看| 国产chinese中国hdxxxx| 亚洲人精品午夜| 中文字幕日日夜夜| 亚洲天堂影视av| 国产伦精品一区二区三区视频金莲| 91视频在线免费观看| 羞羞答答成人影院www| 国产免费999| 久久综合狠狠综合久久激情| 国产精选第一页| 日韩欧美国产麻豆| av在线影院| 91久久精品美女| 我不卡伦不卡影院| 亚洲综合婷婷久久| 国产精品久久久久毛片软件| 欧美另类高清videos的特点| 亚洲欧美国产一本综合首页| 国产传媒在线| 国产一区二区无遮挡| 欧美亚韩一区| 在线精品视频播放| 亚洲午夜电影在线观看| 成人高潮片免费视频| 欧美成人午夜激情在线| 奇米一区二区| 日本免费成人网| 成人h动漫精品一区二区| 久久精品视频8| 亚洲国产精品久久| aa国产成人| 久久久精彩视频| 亚洲欧美日本日韩| 久久精品—区二区三区舞蹈 | 国产麻豆一精品一男同| 久久精品在线视频| 97久久精品一区二区三区的观看方式| 亚洲自拍偷拍二区| 国内精品写真在线观看| 麻豆精品一区二区三区视频| 日韩视频一区二区三区在线播放| 污网站在线免费看| 久久精品第九区免费观看 | 免费观看成年人视频| 97精品在线视频| 九九热线有精品视频99| 亚洲欧美日韩一级| 日韩理论片中文av| 国产91久久久| 2019中文字幕全在线观看| 免费电影一区二区三区| 999在线观看| 一区二区三区中文字幕电影| 欧美特黄一级视频| 日本久久久久久久久久久| 日韩欧美精品综合| 亚洲成人av免费观看| 欧美色欧美亚洲高清在线视频| 成人精品一区二区三区免费| 亚洲自拍中文字幕| 国产亚洲精品v| 亚洲色图100p| 亚洲成**性毛茸茸| 91大神在线观看线路一区| 国产av第一区| 久久这里只有精品首页| 91精品国产乱码久久久久| 欧美激情一区二区三区在线视频观看 | 国产成人a亚洲精品| 91精品一区二区三区综合在线爱 | 中文字幕va一区二区三区| 国产wwwxxx| 欧美自拍视频在线观看| 91麻豆精品国产91久久久平台| av电影在线播放| 欧美私模裸体表演在线观看| 美女精品导航| 一区二区不卡在线| 9色porny自拍视频一区二区| 国产一区二区在线视频聊天| 欧洲成人免费aa| 激情综合视频| 久久嫩草捆绑紧缚|