我知道可以爲SELECT語句創建遊標(隱式或顯式)。遊標是否用於INSERT,UPDATE和DELETE語句?
但是遊標(也就是隱式)是否也被創建用於INSERT,UPDATE和DELETE操作。如果他們做了什麼是有目的的。
要明確一個問題:可能會導致一百萬條記錄的SELECT語句,並創建一個不敏感(實際數據複製)光標可以幫助結果返回給客戶機作爲客戶端滾動向前或向後和可以避免在單個網絡請求中發送所有數據。 還有其他任何值得一提的好處都值得一提。
但是寫入操作(INSERT,UPDATE和DELETE)是一個需要的遊標,即使併發被考慮,它是不是資源開銷。如果操作失敗,它只會提前失敗。或者它是需要事務隔離的。因此,通過創建遊標來保證原子性和一致性。 (併發可以通過像2PL或MVCC等,其他機構聯合進行處理,但我更注重有關遊標的交易作用的時刻)
所以它看起來像交易還需要考慮, 是否每個事務都會導致創建遊標(隱式)。或者,如果存在其他機制來處理事務(併發和不帶併發),則在處理事務時,遊標根本沒有發言權或只有有限的作用。
你說的是由甲骨文在後臺創建本質上是相同的東西作爲分析後的語句在PL/SQL或「遊標」遊標? –
@a_horse_with_no_name,本質上是試圖弄清楚遊標是什麼以及它們如何提供幫助。將不會做太多的PL/SQL,但知道不會傷害,除非他們完全不同於SQL如何使用他們 – samshers