我正在尝试从 board 获取 COUNT(*),
但我想知道以下代码的性能会更好:
Statement st = connection.createStatement();
ResultSet rs = st.executeQuery("SELECT COUNT(*) FROM board_*** WHERE article_category = " + foo);
或
PreparedStatement pstmt = connection.prepareStatement("SELECT COUNT(*) FROM board_*** WHERE article_category = ?");
pstmt.setInt(1 , foo);
ResultSet rs = pstmt.executeQuery();
很难决定..
最佳答案
使用 PreparedStatement
总是好的。因为如果更安全(来自 sql 注入(inject))并且在性能方面它会更快,因为当您使用绑定(bind)变量时,数据库服务器本身会缓存参数并提高查询性能。
如果你对这里更感兴趣,可以阅读一篇好论文
关于java - 这两者之间哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53449248/