如何最佳化查詢記錄數的SQL操作?
我有一個函式用於取給定表名的表記錄數,如下:
但我測試的資料顯示該方法效率很低,目前資料庫資料很少,平均在850ms左右,資料庫是MYSQL的,好像用count(*)效率不高,但我試過取ID值,然後rs.last();rs.getRow()等,但效率相差無幾,而且因為是通用函式,故不可能指定ID名(資料庫中主鍵名都不相同的)
所以想問問高手有什麼可以最佳化的或其他更號效率的方法?
謝謝先:)
另:我本來用preparestatement,但在:
SELECT COUNT(*) FROM (?)時出問題,無法set進這個表名,說sql語法錯:(不知道怎麼回事:(
/** * 取給定表的記錄數。 * * @param tableName 表名 * @return 該表中的記錄總數 */ public static int getRecoundCount(final String tableName){ //空值捕獲 if(StringUtil.isNullorBlank(tableName))return 0; //記錄數 int count = 0; DBOperator dbo = null; try{ dbo = new DBOperator(); //TODO: preparestatement...... 最佳化!!!!!!!!! final String sql = "SELECT COUNT(*) FROM " + tableName; dbo.setPrepareStatement(sql); //dbo.setString(1,tableName); final ResultSet rs = dbo.executeQuery(); //rs.last(); //count = rs.getRow(); //取記錄數 if(rs.next()){ count = rs.getInt(1); } rs.close(); }catch(Exception ex){ ex.printStackTrace(); log.error(ex.getMessage()); }finally{ dbo.close(); dbo = null; } return count; }//end getRecordCount() |
但我測試的資料顯示該方法效率很低,目前資料庫資料很少,平均在850ms左右,資料庫是MYSQL的,好像用count(*)效率不高,但我試過取ID值,然後rs.last();rs.getRow()等,但效率相差無幾,而且因為是通用函式,故不可能指定ID名(資料庫中主鍵名都不相同的)
所以想問問高手有什麼可以最佳化的或其他更號效率的方法?
謝謝先:)
另:我本來用preparestatement,但在:
SELECT COUNT(*) FROM (?)時出問題,無法set進這個表名,說sql語法錯:(不知道怎麼回事:(
相關文章
- 如何查詢DML操作的詳細記錄
- 查詢 SQL SERVER 所有表記錄數SQLServer
- 記錄 sql 查詢日誌SQL
- SQL重複記錄查詢SQL
- SQL 如何查詢連續上漲 N 次的記錄SQL
- 查詢SQLSERVER執行過的SQL記錄SQLServer
- cmdb 查詢資料庫操作記錄資料庫
- 查詢orcale執行的SQL語句記錄SQL
- 簡單記錄幾個有用的sql查詢SQL
- 查詢SQL Server的歷史執行記錄SQLServer
- MySQL 查詢所有表中的記錄數MySql
- UData查詢引擎最佳化-如何讓一條SQL效能提升數倍SQL
- MySQL最佳化之如何查詢SQL效率低的原因MySql
- mysql 查詢記錄數大於一千萬的表MySql
- Mybatis 中將 SQL 查詢記錄到控制檯MyBatisSQL
- SQL:查詢每個類別最新的5條記錄SQL
- sqlserver查詢一個庫所有表的記錄數SQLServer
- ThinkPHP6 多模型關聯查詢操作記錄PHP模型
- Microsoft SQL Server查詢最佳化方法ROSSQLServer
- [Mysql 查詢語句]——查詢指定記錄MySql
- Linux下mysql配置慢日誌查詢,把查詢慢的sql記錄下來LinuxMySql
- Oracle 查詢重複記錄,以及簡單的sql應用。OracleSQL
- Oracle 查詢並刪除重複記錄的SQL語句OracleSQL
- 查詢多張表記錄數的儲存過程儲存過程
- Sql Server 的引數化查詢SQLServer
- 查詢鎖表記錄
- sqlserver查詢最接近的記錄SQLServer
- SQL Server之查詢檢索操作SQLServer
- sql根據多個欄位查詢重複記錄SQL
- openGauss SQL引擎(下)——查詢最佳化SQL
- sql查詢時的一些格式操作SQL
- 查詢/home目錄下子目錄的數量
- sql中查詢目錄中的檔名SQL
- [譯] 如何使用 Pandas 重寫你的 SQL 查詢以及其他操作SQL
- sql查詢是如何執行的?SQL
- 查詢最佳化器的引數設定
- 隱藏引數查詢sqlSQL
- linux下查詢域名或IP註冊資訊的操作記錄(whois)Linux