3
有沒有辦法使用JDBC訪問Java應用程序中的Oracle表級別統計信息?我特別感興趣的是值NUM_ROWS和AVG_ROW_LEN,以便爲我的查詢估計最佳內存緩衝區大小和獲取大小。如何使用JDBC訪問Oracle表統計信息,特別是NUM_ROWS和AVG_ROW_LEN?
有沒有辦法使用JDBC訪問Java應用程序中的Oracle表級別統計信息?我特別感興趣的是值NUM_ROWS和AVG_ROW_LEN,以便爲我的查詢估計最佳內存緩衝區大小和獲取大小。如何使用JDBC訪問Oracle表統計信息,特別是NUM_ROWS和AVG_ROW_LEN?
如果你不關心數據庫的獨立性
SELECT num_rows, avg_row_len
FROM all_tables
WHERE owner = '<<owner of the table>>'
AND table_name = '<<name of the table>>'
我是否需要特殊的權限來運行此查詢?我的應用程序使用的帳戶具有足夠的權限來讀取/更新/刪除相關表中的數據並運行DDL。 – Olaf
@Olaf - 你不應該。每個人都應該可以訪問「ALL_TABLES」視圖,該視圖向您顯示有關您有權訪問的所有表的信息。如果您試圖獲取您無法訪問'SELECT'的表的統計信息,則需要訪問可能需要額外特權的'DBA_TABLES'視圖。 –