簡體   English   中英

執行特定查詢時的響應時間不同

[英]different response time when executing a specific query

我一直在嘗試找出性能問題,如果有人可以幫助我理解該問題,我將不勝感激。

我們的應用程序已連接到Oracle 11g。 我們有一個很大的表,其中保存了過去兩個月的數據。 我們每半小時進行數百萬次插入,並在每天結束時進行大批量刪除操作。 我們的兩個列都已建立索引,並且我們肯定有傾斜的列。

問題是,從該表讀取數據時,我們面臨許多緩慢的響應。 我不是數據庫專家,所以已經做了一些研究。 我知道綁定變量偷看和游標共享。 問題是,即使對於具有特定參數的特定查詢,我們也會看到不同的執行時間!

表中沒有LOB列,用於讀取數據的查詢並不復雜! 它會在特定范圍(索引已索引)中查找具有特定名稱(索引已索引)的所有行。

  • 我想知道我們進行的大量插入/刪除操作是否會引起任何問題?
  • 我們是否可以考慮進行任何類型的分析以獲得更多有關此問題的意見?

我可以看到導致查詢時間不一致的幾種可能原因。

  1. 查詢運行時正在完成的更新數。 只要您在查詢中使用的表上有鎖,查詢就必須等待它們被釋放。
  2. 如此多的數據操作,表上的統計信息可能會變得非常不同步。 我會嘗試兩件事。 首先,我將找出何時運行DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC作業,並確保每晚都在此作業之前執行批量刪除。 如果這樣做沒有幫助,我將要求DBA在您的數據庫上設置DBMS_MONITOR,以幫助您解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM