{"id":1587,"date":"2024-05-08T14:55:35","date_gmt":"2024-05-08T06:55:35","guid":{"rendered":"http:\/\/oneai.eu.org\/?p=1587"},"modified":"2024-05-08T14:56:04","modified_gmt":"2024-05-08T06:56:04","slug":"%e8%a1%a8%e5%88%86%e6%9e%90%e4%b8%8e%e7%b4%a2%e5%bc%95%e5%88%86%e6%9e%90","status":"publish","type":"post","link":"https:\/\/oneai.eu.org\/?p=1587","title":{"rendered":"\u8868\u5206\u6790\u4e0e\u7d22\u5f15\u5206\u6790"},"content":{"rendered":"<p>`\u8868\u5206\u6790\u4e0e\u7d22\u5f15\u5206\u6790<br \/>\nanalyze table HSC_REC_PRODUCT2004 compute statistics<br \/>\nanalyze index PK_HSC_REC_PRODUCT2004 compute statistics<br \/>\n--\u540c\u65f6\u5206\u6790\u8868\u4e0e\u7d22\u5f15<br \/>\nEXEC dbms_stats.gather_table_stats('FSHSC','HSC_REC_PRODUCT2004',CASCADE=&gt;TRUE) ;<\/p>\n<p>\/<em><br \/>\nClass.forName(&quot;oracle.jdbc.driver.OracleDriver&quot;);<br \/>\nString url = &quot;jdbc:oracle:thin:@172.20.23.118:1521:oracle&quot;; \/\/ \u8fde\u63a5\u6570\u636e\u5e93\u7684URL<br \/>\ntest\/test@oracle<br \/>\ncreate table test(<br \/>\nuserid  number(15) not null,<br \/>\nusername char(20),<br \/>\nuserpwd char(20),<br \/>\nsex                char(2),<br \/>\nage         number(5),<br \/>\nintrest        varchar(2000),<br \/>\nchangedate date,<br \/>\nrole char(2) default 0,<br \/>\nprimary key (userid,username)<br \/>\n);<br \/>\n<\/em>\/<br \/>\ncreate index test_username on test(username);<br \/>\ncreate index test_change on test(to_date(changedate,'yyyy-mm-dd hh24:mi:ss'));<\/p>\n<p>truncate table test;<br \/>\nset timing on;<\/p>\n<p>alter table test nologing on;<br \/>\nCREATE or REPLACE PROCEDURE inserttest<br \/>\nas<br \/>\nuserid number(7):=5000000;<br \/>\nbegin<br \/>\nFor i In 1 .. 5000000 Loop<br \/>\nInsert Into test<br \/>\nSelect  Lpad(To<em>Char(userid), 7, '0'), 'test<\/em>'||Lpad(To<em>Char(userid), 7, '0'),  'test<\/em>'||Lpad(To_Char(userid), 7, '0'),<br \/>\ndecode(Mod(i,2),0,'0',1,'1'),21 , 'adklfs',<br \/>\nsysdate,decode((Mod(i,2)),0,'0',1,'1')<br \/>\nfrom dual;<br \/>\nuserid:=userid+1;<br \/>\nIf Mod(i,10000)=0 then<br \/>\nCommit;<br \/>\nEnd If;<br \/>\nEnd Loop;<br \/>\nend;<br \/>\n\/<br \/>\nexec  inserttest;<br \/>\ncommit;<\/p>\n<p>alter session enable parallel dml;                         \/\/\u5f00\u542f\u5e76\u53d1\u6a21\u5f0f<br \/>\nAlter  Table test            Parallel;                  \/\/\u5f00\u542f\u8868\u7684\u5e76\u53d1\u6a21\u5f0f<br \/>\nAlter  Table test  NOLOGGING;                              \/\/\u5173\u95ed\u64cd\u4f5c\u65e5\u5fd7:<br \/>\nAlter  Table test  noParallel;                            \/\/\u5173\u95ed\u5e76\u53d1<br \/>\nAlter  Table test  LOGGING;                                \/\/\u6253\u5f00\u64cd\u4f5c\u65e5\u5fd7<\/p>\n<p>select \/<em>+ parallel(4) <\/em>\/ count(*) from test;<\/p>\n<p>analyze table test compute   statistics; --\u5b8c\u6210\u5206\u6790\uff0c\u6bd4\u8f83\u6162\uff0c<\/p>\n<p>select  \/<em>+ parallel(4)<\/em>\/ * from test where username ='test_5000094';<\/p>\n<p>select   <em> from test where username ='test_5000094';<br \/>\nselect  \/<\/em>+ INDEX(test,test_username)<em>\/ <\/em> from test where username ='test_5000094';<\/p>\n<p>select count(*) from test where CHANGEDATE&gt;to_date('2014-09-28 09:38:11','yyyy-mm-dd hh24:mi:ss') and CHANGEDATE&lt;to_date('2014-09-28 09:38:13','yyyy-mm-dd hh24:mi:ss');<\/p>\n<p>ALTER INDEX test_change UNUSABLE;<br \/>\nALTER SESSION SET SKIP_UNUSABLE_INDEXES = TRUE;<\/p>\n<p>select count(*) from test where CHANGEDATE&gt;to_date('2014-09-28 09:38:11','yyyy-mm-dd hh24:mi:ss') and CHANGEDATE&lt;to_date('2014-09-28 09:38:13','yyyy-mm-dd hh24:mi:ss');<\/p>\n<p>ALTER INDEX test_change DISABLE | ENABLE;<br \/>\nselect \/<em>+INDEX(test,test_change)<\/em>\/count(*) from test where CHANGEDATE&gt;to_date('2014-09-28 09:38:11','yyyy-mm-dd hh24:mi:ss') and CHANGEDATE&lt;to_date('2014-09-28 09:38:13','yyyy-mm-dd hh24:mi:ss');<\/p>\n<p>alter index test_username rebuild;   \/<em>\u4f7f\u7528\u7d22\u5f15\u751f\u6548,\u91cd\u5efa\u7d22\u5f15<\/em>\/<br \/>\nALTER INDEX test_username REBUILD ONLINE;<\/p>\n<p>\u8868\u5206\u6790<br \/>\n:<br \/>\nanalyze table test estimate statistics;--\u62bd\u6837\u5206\u6790\uff0c\u6bd4\u8f83\u5feb\uff0c\u63a8\u8350<\/p>\n<p>analyze table test compute   statistics; --\u5b8c\u6210\u5206\u6790\uff0c\u6bd4\u8f83\u6162\uff0c<br \/>\nANALYZE TABLE \u8868\u540d COMPUTE STATISTICS FOR ALL INDEXED COLUMNS;<br \/>\n\u51fd\u6570\u7d22\u5f15\u53ef\u4e34\u65f6\u751f\u6548,\u751f\u6548<br \/>\nALTER INDEX indexname DISABLE | ENABLE;   <\/p>\n<p>\u4e5f\u5c31\u662f\u8bf4\u53ea\u6709\u57fa\u4e8e\u51fd\u6570\u7684\u7d22\u5f15\u624d\u80fd\u4e34\u65f6\u7981\u7528\u548c\u542f\u7528\u3002<\/p>\n<p>ALTER INDEX indexname UNUSABLE;<br \/>\nALTER SESSION SET SKIP_UNUSABLE_INDEXES = TRUE;<br \/>\n--do something here<br \/>\nALTER INDEX indexname REBUILD ONLINE;<\/p>\n<p>d:\\oracle\\product\\10.2.0\\db_1\\bin;%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem;%SYSTEMROOT%\\System32\\WindowsPowerShell\\v1.0\\;D:\\Program Files\\Java\\jdk1.6.0_10\\jre\\bin;D:\\Program Files\\Java\\jdk1.6.0_10\\bin;D:\\Program Files\\TortoiseSVN\\bin;C:\\strawberry\\c\\bin;C:\\strawberry\\perl\\bin;D:\\Android\\android-sdk-windows\\platform-tools;D:\\Android\\android-sdk-windows\\tools;C:\\Program Files\\jEdit;C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin;C:\\Python27;C:\\Program Files\\MySQL\\MySQL Server 5.6\\bin;E:\\Tools\\apache-ant-1.8.2\\bin;F:\\jmeter\\bin<br \/>\n`<\/p>\n","protected":false},"excerpt":{"rendered":"<p>`\u8868\u5206\u6790\u4e0e\u7d22\u5f15\u5206\u6790 analyze table HSC_REC_PRODUCT2004 compute statistics analyze index PK_HSC_REC_PRODUCT2004 compute statistics &#8211;\u540c\u65f6\u5206\u6790\u8868\u4e0e\u7d22\u5f15 EXEC dbms_stats.gather_table_stats(&#8216;FSHSC&#8217;,&#8217;HSC_REC_PRODUCT2004&#8242;,CASCADE=&gt;TRUE) ; \/ Class.forName(&quot;oracle.jdbc.driver.OracleDriver&quot;); String url = &quot;jdbc:oracle:thin:@172.20.23.118:1521:oracle&quot;; \/\/ \u8fde\u63a5\u6570\u636e\u5e93\u7684URL test\/test@oracle create table test( userid number(15) not null, username char(20), userpwd char(20), sex char(2), age number(5), intrest varchar(2000), changedate date, role char(2) default 0, primary key (userid,username) ); \/ create index test_username on test(username); create index test_change on test(to_date(changedate,&#8217;yyyy-mm-dd hh24:mi:ss&#8217;)); truncate table test; set timing on; alter table test nologing on; CREATE or REPLACE PROCEDURE inserttest as userid number(7):=5000000; begin For i In 1 .. 5000000 Loop Insert Into test Select Lpad(ToChar(userid), 7, &#8216;0&#8217;), &#8216;test&#8217;||Lpad(ToChar(userid), 7, &#8216;0&#8217;), &#8216;test&#8217;||Lpad(To_Char(userid), 7, &#8216;0&#8217;), decode(Mod(i,2),0,&#8217;0&#8242;,1,&#8217;1&#8242;),21 , &#8216;adklfs&#8217;, sysdate,decode((Mod(i,2)),0,&#8217;0&#8242;,1,&#8217;1&#8242;) from dual; userid:=userid+1; If Mod(i,10000)=0 then Commit; End If; End Loop; end; \/ exec inserttest; commit; alter session enable parallel dml; \/\/\u5f00\u542f\u5e76\u53d1\u6a21\u5f0f Alter Table test Parallel; \/\/\u5f00\u542f\u8868\u7684\u5e76\u53d1\u6a21\u5f0f Alter Table test NOLOGGING; \/\/\u5173\u95ed\u64cd\u4f5c\u65e5\u5fd7: Alter Table test noParallel; \/\/\u5173\u95ed\u5e76\u53d1 Alter Table test LOGGING; \/\/\u6253\u5f00\u64cd\u4f5c\u65e5\u5fd7 select \/+ parallel(4) \/ count(*) from test; analyze table test compute statistics; &#8211;\u5b8c\u6210\u5206\u6790\uff0c\u6bd4\u8f83\u6162\uff0c select \/+ parallel(4)\/ * from test where username =&#8217;test_5000094&#8242;; select from test where username =&#8217;test_5000094&#8242;; select \/+ INDEX(test,test_username)\/ from test where username =&#8217;test_5000094&#8242;; select count(*) from test where CHANGEDATE&gt;to_date(&#8216;2014-09-28 09:38:11&#8242;,&#8217;yyyy-mm-dd hh24:mi:ss&#8217;) and CHANGEDATE&lt;to_date(&#8216;2014-09-28 09:38:13&#8242;,&#8217;yyyy-mm-dd hh24:mi:ss&#8217;); ALTER INDEX test_change UNUSABLE; ALTER SESSION SET SKIP_UNUSABLE_INDEXES = TRUE; select count(*) from test where CHANGEDATE&gt;to_date(&#8217;20&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","footnotes":""},"categories":[88,82,100,80],"tags":[],"class_list":["post-1587","post","type-post","status-publish","format-standard","hentry","category-oracle","category-82","category-100","category-80"],"_links":{"self":[{"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/1587","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1587"}],"version-history":[{"count":1,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/1587\/revisions"}],"predecessor-version":[{"id":1588,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/1587\/revisions\/1588"}],"wp:attachment":[{"href":"https:\/\/oneai.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oneai.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}