2010-03-10 19 views

回答

1
  1. 是的理論上有一種方法。至少在Sybase中(也可能在oriacle中),還有表格統計信息(優化器用於確定最優查詢計劃)。您可以計算查詢將返回的數據量以及需要多長時間。但是,這不是微不足道的(您基本上需要複製優化器和查詢編譯器的邏輯),並且統計信息可能不適用於外部代碼。

3

估計運行時間的最好方法是創建一些類似於您期望獲得的真實數據的測試數據,在該數據上運行該數據,以及時間需要多長時間。

3

EXPLAIN PLAN應該告訴你成本,但它很粗糙。

+0

爲了達到這個目的,我在兩個項目中使用了Oracle中的查詢計劃 - 它對於簡單查詢非常有效;我們會得到估計的成本和基數,如果它們超過了某個閾值,我們會向用戶發出「此查詢可能需要很長時間」的警告 - 然後用戶可以取消並向其搜索添加更多條件。 – 2010-03-11 02:14:45