java中resultset和mysql中cursor的区别
在使用java+mysql时,我提出了两种方法来遍历数据集java中resultset和mysql中cursor的区别,java,mysql,Java,Mysql,在使用java+mysql时,我提出了两种方法来遍历数据集 在sql中使用游标和存储过程,然后在java中执行,以查找用户是否存在 在java中使用“resultSet”查找用户是否存在 谁能告诉我哪种方法使用起来很有效以及为什么使用它?您应该避免使用最好的存储过程,因为它们比Java应用程序维护起来复杂得多,而且它们特定于目标数据库。您应该只对复杂用例使用存储过程,这些复杂用例由于语句/PreparedStatement而无法通过执行查询进行管理 换句话说,99.9%在大多数情况下,您的最佳选
谁能告诉我哪种方法使用起来很有效以及为什么使用它?您应该避免使用最好的存储过程,因为它们比Java应用程序维护起来复杂得多,而且它们特定于目标数据库。您应该只对复杂用例使用存储过程,这些复杂用例由于
语句
/PreparedStatement
而无法通过执行查询进行管理
换句话说,99.9%
在大多数情况下,您的最佳选择将是#2。“游标”是一个SQL概念ResultSet
是Java中的一种编程类型。“游标”使用数据库语义,并通过SQL进行访问<代码>结果集使用类型/对象语义,可通过Java访问。“游标”直接控制SQL查询获取的数据量ResultSet
通常不会,但会控制向Java程序公开的数据量。SQL查询获取的数据可能比ResultSet
中显示的数据多,也可能不多
像“游标”这样的SQL结构只能在数据上下文中使用。它是数据库的一部分。当您使用JDBC查询数据时,它不会阻止您需要ResultSet
<代码>结果集是Java代码与查询结果交互的方式
“游标”用于数据操作。这是只有数据操作才关心的事情
ResultSet
更容易消失,Java代码在检索查询数据时需要它。这是只有客户机代码才关心的事情。数据库不知道ResultSet
。几乎在所有情况下,Java代码都不知道游标。使用resultSet是实现这一点的标准方法。很快,那么在编写java+mysql时使用游标有什么用呢?一些ppl认为黄瓜腌制后味道更好。这两种方法都有很大的偏差。使用WHERE
子句,让服务器知道,如果有索引,几乎可以立即完成。尽量不要使用游标编写sql存储过程。同样,在存储过程中。