如何分析Oracle速度慢的原因

發布 科技 2024-03-26
2個回答
  1. 匿名使用者2024-02-07

    問題描述 oracle資料庫中某錶的資料已經超過1億,並且該錶建立了獨立的索引,由於業務需要,每天需要兩次向該表中插入10000條記錄,由於資料量大,每次插入需要乙個多小時, 這嚴重影響了效率,所以修改了系統的演算法,只儲存本表當天的新記錄,截斷該錶後,第二天對本表執行更新操作時,非常耗時,而且當表中的資料超過1億條時, 這個 SQL 語句在第二個表中需要時間 當資料有 10000 條時,這個 SQL 語句需要幾個小時,在諮詢 DBA 後得出結論,索引需要重新構建,這個操作秒級完成,但問題還是出現在第三天,DBA

    對於這個問題,DBA沒有給出渣段理論的解釋,推測主要原因是Oracle的複雜查詢優化演算法。

    最終備份 DBA 給出的解決方案。

    truncate table

    drop index

    insert data

    create index

    yze table table_name pute statistics;重新模仿梁圖的新生成屬性。

    lishixinzhi/article/program/oracle/201311/16938

  2. 匿名使用者2024-02-06

    我在開發過程中也看到了你的問題,我當時有600多萬條記錄,單獨執行內部流程看似很快,但有時卻很慢,我們先說一下解決方法:你需要根據查詢條件為你的表設計對應的索引, 有時,您可以根據需要為表建立多個索引。然後你會發現,過去需要 30 秒才能完成的事情,現在可以在零點幾秒內完成,這與使用游標無關。

    游標的使用完全取決於你的應用需求,我相信你絕對不會選擇使用游標處理,如果你能做到的話,一般在你真的做不到的時候選擇游標來做。

    你的查詢之所以慢,是因為如果你在儲存過程中執行,在沒有索引的時候,他會一一檢查,把80條萬條資料全部掃瞄一遍,直到你檢查完才看到結果,但是你乙個人在外面執行的原因是plsql會先檢查幾條資料,然後返回先給你,這樣你馬上就會看到結果,但其實查詢還沒有結束,如果你下拉的情況下資料很多,你會很慢地傳送信件,其實查詢過程根本就沒有結束。

    總之,寫儲存程序的第一步是會寫,第二步是做好優化,否則當你有大量的資料時,你的程序寫不好,問題馬上就會暴露出來。

相關回答
7個回答2024-03-26

1、在實際工作中,狹義的存貨管理可以理解為存貨管理,廣義的存貨管理還應包括貨幣資金等資產管理; >>>More

8個回答2024-03-26

在伺服器主機上登入SQLPplus時,SYS使用者不需要密碼,也可以輸入任意密碼,方法一:sqlplus"/as sysdba" >>>More

22個回答2024-03-26

首先,你應該檢查你的系統是否有問題,是系統病毒還是其他原因導致IE瀏覽器開啟緩慢,開啟任務管理器檢查CPU和記憶體占用是否正常,記憶體是否太小。 請注意,C盤不應該塞太多東西,至少應該預留3G或更多的空間。 >>>More

7個回答2024-03-26

慣性是物體的一種屬性,僅與物體的質量有關。 慣性,不會變大或變小。 速度只影響運動物體所擁有的動能。

8個回答2024-03-26

如果更新速度慢,則取決於您的網際網絡速度。 在更新方面,Speed Rising 是最快的。 >>>More