如何最佳化查詢記錄數的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語法錯:(不知道怎麼回事:(
相關文章
- SQL 如何查詢連續上漲 N 次的記錄SQL
- 查詢SQL Server的歷史執行記錄SQLServer
- cmdb 查詢資料庫操作記錄資料庫
- MySQL最佳化之如何查詢SQL效率低的原因MySql
- UData查詢引擎最佳化-如何讓一條SQL效能提升數倍SQL
- Mybatis 中將 SQL 查詢記錄到控制檯MyBatisSQL
- SQL:查詢每個類別最新的5條記錄SQL
- mysql 查詢記錄數大於一千萬的表MySql
- openGauss SQL引擎(下)——查詢最佳化SQL
- ThinkPHP6 多模型關聯查詢操作記錄PHP模型
- Sql Server 的引數化查詢SQLServer
- sql根據多個欄位查詢重複記錄SQL
- [譯] 如何使用 Pandas 重寫你的 SQL 查詢以及其他操作SQL
- sql查詢是如何執行的?SQL
- SQL查詢的:子查詢和多表查詢SQL
- Laravel 框架使用 whereIn 查詢 SQL 時資料出錯記錄Laravel框架SQL
- SQL 查詢 exist join in 的用法和相應的適用場景 (最佳化查詢)SQL
- 查詢/home目錄下子目錄的數量
- MongoDB 如何支援類 SQL 查詢MongoDBSQL
- SQL的資料庫操作:新增、更新、刪除、查詢SQL資料庫
- mysql 隨機查詢記錄MySql隨機
- Spring Data Jpa 的簡單查詢多表查詢HQL,SQL ,動態查詢, QueryDsl ,自定義查詢筆記SpringSQL筆記
- 抽象SQL引數化查詢VK抽象SQL
- Oracle中如何查詢未使用繫結變數的SQL語句?Oracle變數SQL
- MySQL 如何最佳化大分頁查詢?MySql
- Java 中如何使用 SQL 查詢 TXTJavaSQL
- 一個小操作,SQL查詢速度翻了1000倍。SQL
- 記一個實用的sql查詢語句SQL
- 【記錄】SSH分頁查詢功能
- Django框架:8、聚合查詢、分組查詢、F與Q查詢、ORM查詢最佳化、ORM事務操作、ORM常用欄位型別、ORM常用欄位引數Django框架ORM型別
- 壓測平臺 - 記錄一次百億級資料查詢最佳化
- 查詢最佳化——查詢樹結構
- 原生SQL查詢SQL
- SQL--查詢SQL
- SQL 聚合查詢SQL
- 查詢當天的系統訂單記錄
- MySQL分頁查詢offset過大,Sql最佳化經驗MySql
- 常見的查詢操作
- 如何檢查 DMARC 記錄