日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

不会依据场景选技术

發布時間:2024/4/13 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不会依据场景选技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

索引與更新

drop table test1 purge; drop table test2 purge; drop table test3 purge; drop table t purge; create table t as select * from dba_objects; create table test1 as select * from t; create table test2 as select * from t; create table test3 as select * from t; create index idx_owner on test1(owner); create index idx_object_name on test1(object_name); create index idx_data_obj_id on test1(data_object_id); create index idx_created on test1(created); create index idx_last_ddl_time on test1(last_ddl_time); create index idx_status on test1(status); create index idx_t2_sta on test2(status); create index idx_t2_objid on test2(object_id); set timing on --語句1(test1表有6個索引) insert into test1 select * from t; commit; --語句2(test2表有2個索引) insert into test2 select * from t; commit; --語句3(test3表有無索引) insert into test3 select * from t; commit;-------------------------------------------------------------------------------------------------------------------------------一次與出賬相關的小故事 drop table t purge; create table t as select * from dba_objects; insert into t select * from t; insert into t select * from t; commit; --請從這里開始注意累加的時間(從建索引到插入記錄完畢) set timing on create index idx_t_owner on t(owner); create index idx_t_obj_name on t(object_name); create index idx_t_data_obj_id on t(data_object_id); create index idx_t_created on t(created); create index idx_t_last_ddl on t(last_ddl_time);--語句1(t表有6個索引) insert into t select * from t; commit;--以下進行試驗2 drop table t purge; create table t as select * from dba_objects; insert into t select * from t; insert into t select * from t; commit;---也從這里開始這里開始注意累加的時間(從插入記錄完畢到建索引完畢)set timing on --語句1(t表有6個索引,此時先不建) insert into t select * from t;create index idx_t_owner on t(owner); create index idx_t_obj_name on t(object_name); create index idx_t_data_obj_id on t(data_object_id); create index idx_t_created on t(created); create index idx_t_last_ddl on t(last_ddl_time);

不會依據場景選擇技術(關于索引壞處考慮)

索引與排序

set linesize 266 drop table t purge; create table t as select * from dba_objects;select t1.name, t1.STATISTIC#, t2.VALUEfrom v$statname t1, v$mystat t2where t1.STATISTIC# = t2.STATISTIC#and t1.name like '%sort%';create index idx_object_id on t(object_id);select t1.name, t1.STATISTIC#, t2.VALUEfrom v$statname t1, v$mystat t2where t1.STATISTIC# = t2.STATISTIC#and t1.name like '%sort%';

?

分區效率變低

drop table part_tab purge; create table part_tab (id int,col2 int,col3 int)partition by range (id)(partition p1 values less than (10000),partition p2 values less than (20000),partition p3 values less than (30000),partition p4 values less than (40000),partition p5 values less than (50000),partition p6 values less than (60000),partition p7 values less than (70000),partition p8 values less than (80000),partition p9 values less than (90000),partition p10 values less than (100000),partition p11 values less than (maxvalue)); insert into part_tab select rownum,rownum+1,rownum+2 from dual connect by rownum <=110000; commit; create index idx_par_tab_col2 on part_tab(col2) local; create index idx_par_tab_col3 on part_tab(col3) ;drop table norm_tab purge; create table norm_tab (id int,col2 int,col3 int); insert into norm_tab select rownum,rownum+1,rownum+2 from dual connect by rownum <=110000; commit; create index idx_nor_tab_col2 on norm_tab(col2) ; create index idx_nor_tab_col3 on norm_tab(col3) ;set autotrace traceonly statistics set linesize 1000 set timing on select * from part_tab where col2=8 ; select * from norm_tab where col2=8 ;select * from part_tab where col2=8 and id=2; select * from norm_tab where col2=8 and id=2;--查看索引高度等信息 select index_name,blevel,leaf_blocks,num_rows,distinct_keys,clustering_factorfrom user_ind_statisticswhere table_name in( 'NORM_TAB');select index_name,blevel,leaf_blocks,num_rows,distinct_keys,clustering_factor FROM USER_IND_PARTITIONS where index_name like 'IDX_PAR_TAB%';select * from part_tab where col3=8 ;

不會依據場景選擇技術(說說分區更慢的場景)

條數性能大比拼

--最慢速度(無索引) drop table t purge; create table t as select * from dba_objects; alter table T modify OBJECT_NAME not null; select count(*) from t; set autotrace traceonly set linesize 1000 set timing on select COUNT(*) FROM T; /--快了一點(有普通索引) drop table t purge; create table t as select * from dba_objects; alter table T modify OBJECT_NAME not null; create index idx_object_name on t(object_name); set autotrace traceonly set timing on select count(*) from t; /--又快一點(有了一個合適的位圖索引) drop table t purge; create table t as select * from dba_objects;Update t Set object_name='abc'; Update t Set object_name='evf' Where rownum<=20000; create bitmap index idx_object_name on t(object_name); set autotrace traceonly set timing on select count(*) from t; / 注:如果記錄數不重復或者說重復度很低,ORACLE會選擇全表掃描,如果用 來強制,可以發現性能很低下。 alter session set statistics_level=all ; set linesize 1000 set pagesize 1 select /*+index(t,idx_object_name)*/ count(*) from test t; select * from table(dbms_xplan.display_cursor(null,null,'allstats last'));--再快一點(物化視圖,注意使用的場景)drop materialized view MV_COUNT_T; drop table t purge; create table t as select * from dba_objects;Update t Set object_name='abc'; Update t Set object_name='evf' Where rownum<=20000;create materialized view mv_count_tbuild immediaterefresh on commitenable query rewriteasselect count(*) FROM T;set autotrace traceonly set linesize 1000 select COUNT(*) FROM T; /--又再快一點(緩存結果集,也是要注意使用的場景) drop table t purge; create table t as select * from dba_objects; select count(*) from t; set linesize 1000 set autotrace traceonly select /*+ result_cache */ count(*) from t; /--速度之王來咯!(原來需求才是王道) select count(*) from t where rownum=1;

從單車到飛船的SQL優化之旅

未優化前,單車慢悠悠(55秒)

第一招:綁定變量,單車變摩托11秒)

ORACLE體系落地應用六個精進妙招

第二招:靜態改寫,摩托變汽車(9秒)

第三招:批量提交,汽車變動車4秒)

第四招:集合寫法動車變飛機0.2秒)

第五招:直接路徑,飛機變火箭0.1秒)

第六招:并行設置,火箭變飛船0.02秒)

?

?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的不会依据场景选技术的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩久久不卡 | 性网爆门事件集合av | 亚洲免费在线观看 | 亚洲色视频 | 九九九视频在线观看 | 黄色美女毛片 | 总裁憋尿呻吟双腿大开憋尿 | 依依成人综合网 | 3d动漫啪啪精品一区二区中文字幕 | 日本亚洲色大成网站www久久 | 午夜精品视频一区二区三区在线看 | 日韩免费视频观看 | 欧美人在线 | 国产精品成人免费看片 | 国产精品少妇 | 人妻少妇精品无码专区久久 | 精品人妻av一区二区三区 | 精品国产一区二区三区性色av | 中文字幕一区二区三区在线播放 | 三上悠亚一区二区 | 成人无码精品1区2区3区免费看 | 琪琪秋霞午夜被窝电影网 | 亚洲高清天堂 | 国产精品美女高潮无套 | 亚洲一区欧美激情 | 成年视频在线 | 亚洲天堂网址 | 99热影院 | 成人免费av | 蜜桃av导航 | 天天综合久久 | 91污片| 成年人免费网址 | 精品中文一区二区三区 | 欧美三级精品 | 日韩精品一区二区三区久久 | 91色偷偷| 好吊操这里有精品 | 国产乱码精品一区二区 | 激情av综合 | 五月天激情视频在线观看 | 欧美激情va永久在线播放 | 欧美黄色性生活 | 久久99久久99精品蜜柚传媒 | 国产中文字幕在线观看 | 青青青草视频在线观看 | 国产精品九九九 | 亚洲精品天堂在线观看 | 伦理av在线 | 国产成人免费视频 | www久久| 狠狠影视| 高潮喷水一区二区三区 | 国产精选一区二区 | 欧美日韩成人网 | 夜夜噜噜噜 | 精品成人av一区二区在线播放 | 免费在线视频一区二区 | 6699嫩草久久久精品影院 | 日韩高清av在线 | 亚洲香蕉中文网 | 国产一区二区视频在线 | 中国免费看的片 | 欧美日韩不卡在线 | 狠狠操一区 | 91超碰在线免费观看 | 中文字幕不卡在线观看 | 99久久影视 | 性感美女视频一二三 | 成人熟女一区二区 | 懂色av一区二区三区蜜臀 | 91精品国产高清一区二区三蜜臀 | 国产又爽又黄视频 | 国家队动漫免费观看在线观看晨光 | 国产超级av | 黄视频国产 | 国内精品人妻无码久久久影院蜜桃 | 国产a区| 国产精品69久久久久 | www.成人在线 | 日日av| 成人私密视频 | 亚洲精品乱码久久久久久蜜桃不卡 | 69国产精品 | 黄色aa毛片 | av先锋影音 | 污站在线观看 | 日韩精品成人在线观看 | 黄色免费在线观看视频 | 欧美日韩xxx| 911国产| 91欧美成人 | 一级片福利 | 免费观看在线高清 | 一级片视频免费 | 少妇高潮一69aⅹ | 亚洲第一区av | 欧美一区二区在线播放 | 国产欧美日韩精品一区二区三区 |