2013-02-06 43 views
2

我聽說Sybase中的遊標速度很慢,甚至有人說我們應該避免使用遊標。有人可以說Sybase的遊標有多慢。是隻讀遊標,或者它們也很慢,並且完全可以使用遊標Sybase中的遊標速度有多慢

回答

2

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc20020_1251/html/databases/databases537.htm

這裏以實例爲你的答案....一個有5000行的表樣的執行時間

 
Procedure    | Access method     | Time 
--------------------------------------------------------------------- 
increase_price  | Uses three table scans   | 28 seconds 
increase_price_cursor | Uses cursor, single table scan |125 seconds 
+0

謝謝你的數據,是隻讀的遊標也是在這個慢得多Sybase – Gaurav

+0

希望這將成爲您正在尋找的答案... – Garry

+0

有兩種遊標模式:只讀和更新。如名稱所示,只讀遊標只能顯示select語句中的數據;更新遊標可用於執行定位更新和刪除。但是任何遊標都會減慢數據庫的讀取速度,因爲它不會對數據庫執行修改。 – Garry

1

我認爲該聲明是不完整的。實際索賠可能是

遊標比基於SET的操作/ sql語句慢。

這對所有數據庫都是如此,而不僅僅是Sybase。作爲一般規則,您必須儘可能地嘗試(困難)並使用SQL和基於集合的操作,而不是使用遊標和循環記錄。