对于数据库查询中的运算操作:是选择 java 代码还是 mysql where 子句?
问题:
在数据库查询中使用运算操作时,是选择在 java 代码中执行运算,还是在 mysql 的 where 子句中执行?本文将探讨两者的利弊,以帮助您做出最佳决策。
解答:
我建议将运算操作放在 java 代码中执行,而不是在 where 子句中。原因如下:
具体示例:
如果要查询表中所有年龄加 1 的记录,可以使用以下 mybatis 代码:
// java 代码 listages = ...; for (integer age : ages) { age++; } // mybatis 代码 select id, age from users where age in ( #{age} )
相比之下,将运算操作移到 where 子句中会降低代码的可读性和可维护性:
// Java 代码 Listages = ...; // Mybatis 代码 SELECT id, age FROM users WHERE age IN ( #{age}+1 )
因
此,建议在 java 代码中执行运算操作,以保持 sql 语句的简洁性和可维护性,并确保查询性能不会受到影响。