oracle數(shù)據(jù)量大怎么優(yōu)化?
1、首先,建立一個合適的指數(shù)。Sql沒有在索引字段中添加函數(shù)來保證索引生效。如果是復(fù)合索引,注意sql中的順序。如果索引已經(jīng)存在,建議您先重建索引,因為大型數(shù)據(jù)表的索引在維護的一個階段比較混亂,一般建議重建。一般速度可以提高幾十倍。
2.數(shù)據(jù)量最大的表放在前面,數(shù)據(jù)量最小的表放在后面。Sql從最末端開始向后解析。
3.其次,要把最有效的縮小范圍的條件放在sql的末尾。尤其是主鍵或索引字段的條件。
4.保證你的sql算法的合理性。保證復(fù)雜度和空間的合理性。
5.必要時使用存儲過程。提高速度30%-40%。6.建議您逐頁閱讀,而不是一次性閱讀所有數(shù)據(jù)。(使用rownum),一次數(shù)據(jù)太多會造成內(nèi)存不足。如果對這些都不滿意,可以考慮建立幾個表空間,然后按照一種算法(表分區(qū))把每個表的數(shù)據(jù)均勻地放在每個表空間中。選擇時,數(shù)據(jù)庫會使用多線程對每個表空間中的數(shù)據(jù)進行索引,一般不用于千萬級的表。不是每個人都能用的。
orcal中用pl/sql怎么導(dǎo)入導(dǎo)出整個用戶的表,索引,函數(shù),觸發(fā)器?
1.導(dǎo)出步驟1.1。工具-導(dǎo)出用戶對象選擇要導(dǎo)出的選項。sql文件描述:導(dǎo)出建表語句(包括存儲結(jié)構(gòu))。1.2工具-導(dǎo)出表-oracl
多表聯(lián)合查詢是如何使用索引的?
表格結(jié)構(gòu)如下:
t_goods_decl(decl_no,orgcode,valid,....)
t_goods_decl_msg(decl_no,狀態(tài),有效,....)
列出了主要字段,其他字段暫時省略。這兩個表之間的關(guān)系是1對1,1,msg表存儲decl表的狀態(tài)和附加信息。
查詢語句:
選擇計數(shù)(_否)
從T_GOODS_DECL機場,T_GOODS_DECL機場
哪里()
還有(((或者)
和__否))
索引情況:
1.兩個表的decl_no字段建立了一個唯一的索引。
表的狀態(tài)字段和decl表的有效字段分別用于建立位圖索引。
數(shù)據(jù)庫情況:
oracle9i
實施計劃:
選擇語句優(yōu)化器模式選擇13550
分類匯總120散列連接47K926K3550
表訪問滿CSUSR。T_GOODS_DECL129K1M2661表訪問完整的CSUSR。貨物DECL消息200K1M595