{"id":2002,"date":"2018-01-25T18:38:18","date_gmt":"2018-01-25T09:38:18","guid":{"rendered":"http:\/\/haisins.epac.to\/wordpress\/?p=2002"},"modified":"2018-01-25T18:39:19","modified_gmt":"2018-01-25T09:39:19","slug":"sql-%ec%8a%a4%ed%81%ac%eb%a6%bd%ed%8a%b8-%ec%98%a4%eb%a0%8c%ec%a7%80-%ec%b2%98%eb%9f%bc-%ec%bb%ac%eb%9f%bc-%ed%86%b5%ea%b3%84-%ec%a0%95%eb%b3%b4-%ed%99%95%ec%9d%b8-%ed%95%98%eb%8a%94-%eb%b0%a9","status":"publish","type":"post","link":"http:\/\/haisins.synology.me\/wordpress\/?p=2002","title":{"rendered":"[SQL \uc2a4\ud06c\ub9bd\ud2b8] \uc624\ub80c\uc9c0 \ucc98\ub7fc \uceec\ub7fc \ud1b5\uacc4 \uc815\ubcf4 \ud655\uc778 \ud558\ub294 \ubc29\ubc95"},"content":{"rendered":"<p>\ud604\uc7ac \ud14c\uc774\ube14 \uad6c\uc870 \ubc0f \uad00\ub828 \uceec\ub7fc \ubcc4 \ud1b5\uacc4 \uc815\ubcf4 \ud604\ud669, <\/p>\n<p>\ubc00\ub3c4\uc640 \uc120\ud0dd\ub3c4 \ud655\uc778 \ud558\ub294 SQL \uc2a4\ud06c\ub9bd\ud2b8 \uc785\ub2c8\ub2e4. <\/p>\n<p>\uc774 \uacb0\uacfc\uc5d0 \ub530\ub77c \uc778\ub371\uc2a4\ub97c \ub9cc\ub4e4\uba74 \ub429\ub2c8\ub2e4.<\/p>\n<p>&lt;SQL \uc2a4\ud06c\ub9bd\ud2b8&gt;<\/p>\n<p>[oracle11]yspark-linux:\/home\/oracle11&gt; cat <b>tab_stat.sql<\/b><\/p>\n<p>set document off<\/p>\n<p>\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<\/p>\n<p>+ +<\/p>\n<p>+ FileName : tab_stat.sql +<\/p>\n<p>+ Genarated : 2018\/01\/16 by UNIONE INC. +<\/p>\n<p>+ Modified : +<\/p>\n<p>+ +<\/p>\n<p>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/<\/p>\n<p>set verify off<\/p>\n<p>set linesize 300<\/p>\n<p>ACCEPT owner_name PROMPT &#8216;Input owner_name : &#8216;<\/p>\n<p>ACCEPT T_NAME PROMPT &#8216;Input table_name : &#8216;<\/p>\n<p>COLUMN TAB_COL01 FORMAT A50<\/p>\n<p>COLUMN TAB_COL02 FORMAT A50<\/p>\n<p>COLUMN TABLE_NAME FORMAT A20<\/p>\n<p>COLUMN COLUMN_NAME FORMAT A20<\/p>\n<p>COLUMN NULLABLE FORMAT A15<\/p>\n<p>COLUMN COLUMN_TYPE FORMAT A15<\/p>\n<p>COLUMN LOW_VALUE FORMAT A25<\/p>\n<p>COLUMN HIGH_VALUE FORMAT A25<\/p>\n<p>COLUMN NUM_DISTINCT FORMAT 999,999,999,999<\/p>\n<p>COLUMN AVG_COL_LEN FORMAT 999,999,999,999<\/p>\n<p>COLUMN NUM_BUCKETS FORMAT 999,999,999,999<\/p>\n<p>COLUMN INDEX_INFO FORMAT A150<\/p>\n<p>prompt 01. table stats<\/p>\n<p>&#8212; table<\/p>\n<p>select <\/p>\n<p>table_name, PARTITION_NAME, num_rows, blocks, sample_size,<\/p>\n<p>to_char(last_analyzed,&#8217;yyyy\/mm\/dd hh24:mi:ss&#8217;) as last_anal<\/p>\n<p>from <\/p>\n<p>dba_tab_statistics <\/p>\n<p>where <\/p>\n<p>table_name = upper(&#8216;&amp;T_NAME&#8217;)<\/p>\n<p>and OWNER = upper(&#8216;&amp;owner_name&#8217;) <\/p>\n<p>\/<\/p>\n<p>prompt 02. column stats<\/p>\n<p>&#8212; column<\/p>\n<p>select <\/p>\n<p>s.table_name, s.column_name, s.num_distinct, s.num_nulls, s.density, <\/p>\n<p>s.low_value, s.high_value, s.histogram <\/p>\n<p>from <\/p>\n<p>dba_tab_cols s<\/p>\n<p>where<\/p>\n<p>s.table_name = upper(&#8216;&amp;T_NAME&#8217;)<\/p>\n<p>and s.OWNER= upper(&#8216;&amp;owner_name&#8217;)<\/p>\n<p>\/<\/p>\n<p>col COLUMN_NAME for a30<\/p>\n<p>col ENDPOINT_NUMBER for a30<\/p>\n<p>col endpoint_value format a70<\/p>\n<p>prompt 03. histogram stats<\/p>\n<p>&#8212; histogram<\/p>\n<p>select <\/p>\n<p>table_name, column_name, endpoint_number, <\/p>\n<p>endpoint_value||'(&#8216;||endpoint_actual_value||&#8217;)&#8217; as endpoint_value<\/p>\n<p>from<\/p>\n<p>dba_tab_histograms<\/p>\n<p>where <\/p>\n<p>table_name = upper(&#8216;&amp;T_NAME&#8217;)<\/p>\n<p>and OWNER = upper(&#8216;$owner_name&#8217;)<\/p>\n<p>order by column_name, endpoint_number<\/p>\n<p>;<\/p>\n<p>set serveroutput off<\/p>\n<p>[oracle11]yspark-linux:\/home\/oracle11&gt; cat <b>table_info.sql<\/b><\/p>\n<p>set document off<\/p>\n<p>\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<\/p>\n<p>+ +<\/p>\n<p>+ FileName : table_info.sql +<\/p>\n<p>+ Purpose : +<\/p>\n<p>+ Genarated : 2018\/01\/16 by UNIONE INC. +<\/p>\n<p>+ Modified : +<\/p>\n<p>+ +<\/p>\n<p>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/<\/p>\n<p>SET LINESIZE 400<\/p>\n<p>SET PAGESIZE 500<\/p>\n<p>SET RECSEP OFF<\/p>\n<p>SET VERIFY OFF<\/p>\n<p>CLEAR COLUMN<\/p>\n<p>COLUMN TAB_COL01 FORMAT A50<\/p>\n<p>COLUMN TAB_COL02 FORMAT A50<\/p>\n<p>COLUMN COLUMN_NAME FORMAT A40<\/p>\n<p>COLUMN NULLABLE FORMAT A15<\/p>\n<p>COLUMN COLUMN_TYPE FORMAT A15<\/p>\n<p>COLUMN NUM_DISTINCT FORMAT 999,999,999,999<\/p>\n<p>COLUMN AVG_COL_LEN FORMAT 999,999,999,999<\/p>\n<p>COLUMN NUM_BUCKETS FORMAT 999,999,999,999<\/p>\n<p>COLUMN INDEX_INFO FORMAT A150<\/p>\n<p>ACCEPT tb_name PROMPT &#8216;Input table_name : &#8216;<\/p>\n<p>ACCEPT owner_name PROMPT &#8216;Input owner_name : &#8216;<\/p>\n<p>SELECT DECODE(B.ID,1,OWNER||&#8217;.&#8217;||TABLE_NAME,<\/p>\n<p>2,&#8217;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8216;,<\/p>\n<p>3,&#8217;Rows=&#8217;||TRIM(TO_CHAR(NUM_ROWS,&#8217;999,999,999,999,999&#8242;)),<\/p>\n<p>4,&#8217;Empty Blocks=&#8217;||TRIM(TO_CHAR(EMPTY_BLOCKS,&#8217;999,999,999,999,999&#8242;)),<\/p>\n<p>5,&#8217;Chain Count=&#8217;||TRIM(TO_CHAR(CHAIN_CNT,&#8217;999,999,999,999,999&#8242;)),<\/p>\n<p>6,&#8217;Avg Space Freelist Blocks=&#8217;||TRIM(TO_CHAR(AVG_SPACE_FREELIST_BLOCKS,&#8217;999,999,999,999,999&#8242;)),<\/p>\n<p>7,&#8217;Sample Size=&#8217;||TRIM(TO_CHAR(SAMPLE_SIZE,&#8217;999,999,999,999,999&#8242;)),<\/p>\n<p>8,&#8217;Partitione=&#8217;||PARTITIONED) TAB_COL01,<\/p>\n<p>DECODE(B.ID,1,&#8217; &#8216;,<\/p>\n<p>2,&#8217; &#8216;,<\/p>\n<p>3,&#8217;Blocks=&#8217;||TRIM(TO_CHAR(BLOCKS,&#8217;999,999,999,999,999&#8242;)),<\/p>\n<p>4,&#8217;Avg Space=&#8217;||TRIM(TO_CHAR(AVG_SPACE,&#8217;999,999,999,999,999&#8242;)),<\/p>\n<p>5,&#8217;Avg Row Length=&#8217;||TRIM(TO_CHAR(AVG_ROW_LEN,&#8217;999,999,999,999,999&#8242;)),<\/p>\n<p>6,&#8217;Freelist Blocks=&#8217;||TRIM(TO_CHAR(FREELISTS,&#8217;999,999,999,999,999&#8242;)),<\/p>\n<p>7,&#8217;Last Analyze=&#8217;||TO_CHAR(LAST_ANALYZED,&#8217;YYYY\/MM\/DD HH24:MI:SS&#8217;)) TAB_COL02<\/p>\n<p>FROM DBA_TABLES A ,( SELECT LEVEL AS id FROM dual CONNECT BY LEVEL &lt;= 99 ) B<\/p>\n<p>WHERE TABLE_NAME = UPPER(&#8216;&amp;&amp;tb_name&#8217;)<\/p>\n<p>AND OWNER = UPPER(&#8216;&amp;&amp;owner_name&#8217;)<\/p>\n<p>AND B.ID &lt;= 8<\/p>\n<p>\/ <\/p>\n<p>SELECT COLUMN_NAME,<\/p>\n<p>DECODE(NULLABLE,&#8217;N&#8217;,&#8217;NOT NULL&#8217;) NULLABLE,<\/p>\n<p>DATA_TYPE||DECODE(DATA_PRECISION,NULL,NULL,'(&#8216;||DATA_PRECISION||&#8217;)&#8217;) COLUMN_TYPE,<\/p>\n<p>NUM_DISTINCT,<\/p>\n<p>AVG_COL_LEN,<\/p>\n<p>NUM_BUCKETS<\/p>\n<p>FROM DBA_TAB_COLUMNS<\/p>\n<p>WHERE TABLE_NAME = UPPER(&#8216;&amp;&amp;tb_name&#8217;)<\/p>\n<p>AND OWNER = UPPER(&#8216;&amp;&amp;owner_name&#8217;)<\/p>\n<p>ORDER BY COLUMN_ID<\/p>\n<p>\/<\/p>\n<p>SELECT \/*+ ORDERED USE_NL(A,B) *\/<\/p>\n<p>DECODE(ID,1,INDEX_NAME||&#8217; : &#8216;||COLUMN_NM,<\/p>\n<p>2,&#8217; &#8216;||&#8217;Type=&#8217;||INDEX_TYPE||&#8217;, &#8216;||<\/p>\n<p>&#8216;Uniq=&#8217;||DECODE(UNIQUENESS,&#8217;UNIQUE&#8217;,&#8217;Yes&#8217;,&#8217;No&#8217;)||&#8217;, &#8216;||<\/p>\n<p>&#8216;Distinct=&#8217;||TRIM(TO_CHAR(DISTINCT_KEYS,&#8217;999,999,999,999,999&#8242;))||&#8217;, &#8216;||<\/p>\n<p>&#8216;Rows=&#8217;||TRIM(TO_CHAR(NUM_ROWS,&#8217;999,999,999,999,999&#8242;))||&#8217;, &#8216;||<\/p>\n<p>&#8216;Last Analyzed=&#8217;||TO_CHAR(LAST_ANALYZED,&#8217;YYYY\/MM\/DD HH24:MI:SS&#8217;),<\/p>\n<p>3,&#8217; &#8216;||&#8217;B*-Tree level=&#8217;||TRIM(TO_CHAR(BLEVEL,&#8217;999,999,999,999,999&#8242;))||&#8217;, &#8216;||<\/p>\n<p>&#8216;Leaf Blocks=&#8217;||TRIM(TO_CHAR(LEAF_BLOCKS,&#8217;999,999,999,999,999&#8242;))||&#8217;, &#8216;||<\/p>\n<p>&#8216;Clustering Factor=&#8217;||TRIM(TO_CHAR(CLUSTERING_FACTOR,&#8217;999,999,999,999,999&#8242;))||&#8217;, &#8216;||<\/p>\n<p>&#8216;Sample Size=&#8217;||TRIM(TO_CHAR(SAMPLE_SIZE,&#8217;999,999,999,999,999&#8242;))||&#8217;, &#8216;||<\/p>\n<p>&#8216;Partition Type=&#8217;||DECODE(PARTITIONED,&#8217;NO&#8217;,&#8217;N\/A&#8217;,PARTITIONED)) INDEX_INFO<\/p>\n<p>FROM<\/p>\n<p>(<\/p>\n<p>SELECT A.INDEX_NAME,<\/p>\n<p>MIN(INDEX_TYPE) INDEX_TYPE,<\/p>\n<p>MIN(UNIQUENESS) UNIQUENESS,<\/p>\n<p>MIN(TABLESPACE_NAME) TABLESPACE_NAME,<\/p>\n<p>MIN(DISTINCT_KEYS) DISTINCT_KEYS,<\/p>\n<p>MIN(CLUSTERING_FACTOR) CLUSTERING_FACTOR,<\/p>\n<p>MIN(STATUS) STATUS,<\/p>\n<p>MIN(LAST_ANALYZED) LAST_ANALYZED,<\/p>\n<p>MIN(BLEVEL) BLEVEL,<\/p>\n<p>MIN(NUM_ROWS) NUM_ROWS,<\/p>\n<p>MIN(LEAF_BLOCKS) LEAF_BLOCKS,<\/p>\n<p>MIN(PARTITIONED) PARTITIONED,<\/p>\n<p>MIN(SAMPLE_SIZE) SAMPLE_SIZE,<\/p>\n<p>SUBSTR(XMLAGG(XMLELEMENT(COLUMN_NAME,&#8217; + &#8216;||COLUMN_NAME) ORDER BY COLUMN_POSITION).EXTRACT(&#8216;\/\/text()&#8217;).GetStringVal(),4) COLUMN_NM<\/p>\n<p>FROM DBA_INDEXES A, DBA_IND_COLUMNS B<\/p>\n<p>WHERE A.TABLE_NAME = UPPER(&#8216;&amp;&amp;tb_name&#8217;)<\/p>\n<p>AND A.OWNER = UPPER(&#8216;&amp;&amp;owner_name&#8217;)<\/p>\n<p>AND A.OWNER = B.TABLE_OWNER<\/p>\n<p>AND A.INDEX_NAME = B.INDEX_NAME<\/p>\n<p>GROUP BY A.INDEX_NAME<\/p>\n<p>) A, ( SELECT LEVEL AS id FROM dual CONNECT BY LEVEL &lt;= 99 ) B<\/p>\n<p>WHERE B.ID &lt;= 3<\/p>\n<p>\/<\/p>\n<p>SET VERIFY ON<\/p>\n<p>&lt;\uc218\ud589 \uacb0\uacfc&gt; <\/p>\n<p><a href=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/2018\/01\/clip_image001-1.png\"><img loading=\"lazy\" width=\"640\" height=\"462\" title=\"clip_image001\" style=\"margin: 0px 0px 18px; display: inline; background-image: none;\" alt=\"clip_image001\" src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/2018\/01\/clip_image001_thumb-1.png?resize=640%2C462\" border=\"0\" data-recalc-dims=\"1\"\/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud604\uc7ac \ud14c\uc774\ube14 \uad6c\uc870 \ubc0f \uad00\ub828 \uceec\ub7fc \ubcc4 \ud1b5\uacc4 \uc815\ubcf4 \ud604\ud669, \ubc00\ub3c4\uc640 \uc120\ud0dd\ub3c4 \ud655\uc778 \ud558\ub294 SQL \uc2a4\ud06c\ub9bd\ud2b8 \uc785\ub2c8\ub2e4. \uc774 \uacb0\uacfc\uc5d0 \ub530\ub77c \uc778\ub371\uc2a4\ub97c \ub9cc\ub4e4\uba74 \ub429\ub2c8\ub2e4. &lt;SQL \uc2a4\ud06c\ub9bd\ud2b8&gt; [oracle11]yspark-linux:\/home\/oracle11&gt; cat tab_stat.sql set document off \/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + + FileName : tab_stat.sql + + Genarated : 2018\/01\/16 by UNIONE INC. + + Modified : + + + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/ set [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"spay_email":""},"categories":[3],"tags":[],"jetpack_featured_media_url":"","amp_enabled":true,"_links":{"self":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2002"}],"collection":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2002"}],"version-history":[{"count":2,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2002\/revisions"}],"predecessor-version":[{"id":2006,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2002\/revisions\/2006"}],"wp:attachment":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2002"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2002"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}