oracle怎么提升查詢效率,oracle提高查詢速度

Oracle提升查詢效率

做表與表的連接查詢時,大表在前,小表在后 ,就是記錄數少的作為后表

創新互聯建站是專業的克山網站建設公司,克山接單;提供成都網站建設、成都網站制作,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行克山網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

查詢條件中的限制條件要寫在表連接條件前

盡量使用索引的字段做為查詢條件

如何提升oracle大表查詢的效率啊?

1、建索引。

2、減少表之間的關聯;

3、優化sql

,盡量讓SQL很快的定位,不要走全表查詢,盡量走索引

4、簡化查詢的字段。

希望對你有用。

如何提升Oracle數據庫搜索效率

需要用索引來解決,索引的創建規則如下:

1、表的

主鍵

外鍵

必須有索引;

2、數據量超過300的表應該有索引;

3、經常與其他表進行連接的表,在連接字段上應該建立索引;

4、經常出現在Where子句中的字段,特別是大表的字段,應該建立索引;

5、索引應該建在選擇性高的字段上;

6、索引應該建在小字段上,對于大的文本字段甚至超長字段,不要建索引;

7、復合索引的建立需要進行仔細分析;盡量考慮用單字段索引代替:

A、

正確選擇

復合索引中的主列字段,一般是選擇性較好的字段;

B、復合索引的幾個字段是否經常同時以AND方式出現在Where子句中?單字段查詢是否極少甚至沒有?如果是,則可以建立復合索引;否則考慮單字段索引;

C、如果復合索引中包含的字段經常單獨出現在Where子句中,則分解為多個單字段索引;

D、如果復合索引所包含的字段超過3個,那么仔細考慮其必要性,考慮減少復合的字段;

E、如果既有單字段索引,又有這幾個字段上的復合索引,一般可以刪除復合索引;

8、頻繁進行

數據操作

的表,不要建立太多的索引;

9、刪除無用的索引,避免對執行計劃造成負面影響;

以上是一些普遍的建立索引時的判斷依據。一言以蔽之,索引的建立必須慎重,對每個索引的必要性都應該經過仔細分析,要有建立的依據。因為太多的索引與不充分、不正確的索引對性能都毫無益處:在表上建立的每個索引都會增加存儲開銷,索引對于插入、刪除、更新操作也會增加處理上的開銷。另外,過多的復合索引,在有單字段索引的情況下,一般都是沒有

存在價值

的;相反,還會降低數據增加刪除時的性能,特別是對頻繁更新的表來說,負面影響更大。

如何提高oracle模糊查詢的性能?

1、使用兩邊加‘%’號的查詢,Oracle是不通過索引的,所以查詢效率很低。

例如:select count(*) from lui_user_base t where t.user_name like '%cs%';

2、like '...%'和 like'%...'雖然走了索引,但是效率依然很低。

3、有人說使用如下sql,他的效率提高了10倍,但是數據量小的時候

select count(*) from lui_user_base where rowid in (select rowid from lui_user_base t where t.user_name like '%cs%')

我拿100w跳數據做了測試,效果一般,依然很慢,原因:

select rowid from lui_user_base t where t.user_name like '%cs%' ? 這條sql執行很快,那是相當的快,但是放到select count(*) from lui_user_base where rowid in()里后,效率就會變的很慢了。

4、select count(*) from lui_user_base t where instr(t.user_name,'cs') 0

這種查詢效果很好,速度很快,推薦使用這種。因為我對oracle內部機制不是很懂,只是對結果做了一個說明。

5、有人說了用全文索引,我看了,步驟挺麻煩,但是是個不錯的方法,留著備用:

對cmng_custominfo 表中的address字段做全文檢索:

1,在oracle9201中需要創建一個分詞的東西:

BEGIN

ctx_ddl.create_preference ('SMS_ADDRESS_LEXER', 'CHINESE_LEXER');

--ctx_ddl.create_preference ('my_lexer', 'chinese_vgram_lexer'); 不用

end;

2,創建全文檢索:

CREATE INDEX INX_CUSTOMINFO_ADDR_DOCS ON cmng_custominfo(address) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS ('LEXER SMS_ADDRESS_LEXER');

3,查詢時候,使用:

select * from cmng_custominfo where contains (address, '金色新城')1;

4,需要定期進行同步和優化:

同步:根據新增記錄的文本內容更新全文搜索的索引。

begin

ctx_ddl.sync_index('INX_CUSTOMINFO_ADDR_DOCS');

end;

優化:根據被刪除記錄清除全文搜索索引中的垃圾

begin

ctx_ddl.optimize_index('INX_CUSTOMINFO_ADDR_DOCS', 'FAST');

end;

5,采用job做步驟4中的工作:

1)該功能需要利用oracle的JOB功能來完成

因為oracle9I默認不啟用JOB功能,所以首先需要增加ORACLE數據庫實例的JOB配置參數:

job_queue_processes=5

重新啟動oracle數據庫服務和listener服務。

2)同步 和 優化

--同步 sync:

variable jobno number;

BEGIN

DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.sync_index(''INX_CUSTOMINFO_ADDR_DOCS'');',

SYSDATE, 'SYSDATE + (1/24/4)');

commit;

END;

--優化

variable jobno number;

begin

DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.optimize_index(''INX_CUSTOMINFO_ADDR_DOCS'',''FULL'');', SYSDATE, 'SYSDATE + 1');

commit;

END;

其中, 第一個job的SYSDATE + (1/24/4)是指每隔15分鐘同步一次,第二個job的SYSDATE + 1是每隔1天做一次全優化。具體的時間間隔,可以根據應用的需要而定。

6,索引重建

重建索引會刪除原來的索引,重新生成索引,需要較長的時間。

重建索引語法如下:

ALTER INDEX INX_CUSTOMINFO_ADDR_DOCS REBUILD;

據網上一些用家的體會,oracle重建索引的速度也是比較快的,有一用家這樣描述:

Oracle 的全文檢索建立和維護索引要比ms sql server都要快得多,筆者的65萬記錄的一個表建立索引只需要20分鐘,同步一次只需要1分鐘。

因此,也可以考慮用job的辦法定期重建索引。

本文名稱:oracle怎么提升查詢效率,oracle提高查詢速度
標題網址:http://m.kartarina.com/article20/heiico.html

成都網站建設公司_創新互聯,為您提供標簽優化外貿網站建設網站設計品牌網站制作網站內鏈動態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

小程序開發
主站蜘蛛池模板: 亚洲精品无码专区在线在线播放| 国产午夜鲁丝片AV无码免费| 亚洲中文字幕无码久久2017 | 亚洲国产成人精品无码区在线秒播| 久久亚洲AV成人出白浆无码国产 | 精品无码成人片一区二区 | 国产亚洲精品无码成人| 无码精品A∨在线观看中文| 无码人妻一区二区三区av| 无码毛片视频一区二区本码 | 亚洲韩国精品无码一区二区三区| 日韩精品无码免费一区二区三区| 人妻无码中文字幕| 亚洲综合一区无码精品| 亚洲AV无码乱码在线观看富二代| 日韩av无码国产精品| 久久久亚洲精品无码| 深夜a级毛片免费无码| 无码丰满熟妇一区二区| 精品人妻无码区二区三区| 亚洲av日韩av高潮潮喷无码| 久久中文精品无码中文字幕| 亚洲最大无码中文字幕| 999久久久无码国产精品| 亚洲AV永久无码精品一百度影院 | 亚洲国产精品成人精品无码区| 67194成是人免费无码| 亚洲精品久久无码av片俺去也| 亚洲AV成人无码天堂| 久久无码高潮喷水| 97久久精品亚洲中文字幕无码| 亚洲国产精品成人精品无码区| 在线a亚洲v天堂网2019无码| 潮喷失禁大喷水aⅴ无码| heyzo高无码国产精品| 国产精品无码一区二区在线观一 | 亚洲AV无码成人网站久久精品大| 亚洲色中文字幕无码AV| 亚洲成AV人片在线观看无码| 亚洲爆乳无码专区| 久久久久亚洲AV无码麻豆|