Postgresql 在MySQL中使用“扫描表”是否正确;选择*。。“限制开始、计数”;没有订单条款?
假设表X有100个元组 以下扫描X的方法会在MySQL中生成表X中的所有元组吗 for start in [0, 10, 20, ..., 90]: print results of "select * from X LIMIT start, 10;" 对于[0,10,20,…,90]中的开始: 打印“从X限制开始选择*的结果,10 我问这个问题,因为我一直在使用PostgreSQL,它清楚地说明了这种方法,但似乎没有关于这种方法的信息。如果不会,是否有一种方法可以在不知道表的任何其他信息(如主键字段是什么)的情况下以固定顺序返回结果Postgresql 在MySQL中使用“扫描表”是否正确;选择*。。“限制开始、计数”;没有订单条款?,postgresql,mysql,limit,Postgresql,Mysql,Limit,假设表X有100个元组 以下扫描X的方法会在MySQL中生成表X中的所有元组吗 for start in [0, 10, 20, ..., 90]: print results of "select * from X LIMIT start, 10;" 对于[0,10,20,…,90]中的开始: 打印“从X限制开始选择*的结果,10 我问这个问题,因为我一直在使用PostgreSQL,它清楚地说明了这种方法,但似乎没有关于这种方法的信息。如果不会,是否有一种方法可以在不知道表的任何其他信
我需要在应用程序中扫描表中的每个元组,并且我想要一种不使用应用程序中太多内存的方法(因此简单地执行“从X选择*是不可能的)。不,这不是一个安全的假设。如果没有
orderby
子句,就无法保证您的查询每次都会返回唯一的结果。如果此表已正确索引,则添加一个ORDER BY
(用于索引)应该不会太昂贵
编辑:非orderbyed结果有时会按照聚集索引的顺序排列,但我不会为此投入任何资金 不,这不是一个安全的假设。如果没有
orderby
子句,就无法保证您的查询每次都会返回唯一的结果。如果此表已正确索引,则添加一个ORDER BY
(用于索引)应该不会太昂贵
编辑:非orderbyed结果有时会按照聚集索引的顺序排列,但我不会为此投入任何资金 如果使用Innodb或MyISAM表类型,更好的方法是使用处理程序接口。只有MySQL支持此功能,但它可以满足您的需要: 此外,MySQL API支持从服务器检索数据的两种模式:
set the connection to "use result" mode;
select * from X
如果使用Innodb或MyISAM表类型,更好的方法是使用处理程序接口。只有MySQL支持此功能,但它可以满足您的需要: 此外,MySQL API支持从服务器检索数据的两种模式:
set the connection to "use result" mode;
select * from X
哇!使用结果正是医生为我的应用程序订购的。谢谢你的回答!哇!使用结果正是医生为我的应用程序订购的。谢谢你的回答!如果在循环过程中插入行,则无任何保证它不会中断订单,即使使用
order BY
子句,除非在事务安全连接中。如果在循环过程中插入行,则无任何保证它不会中断订单,即使使用order BY
子句,除非在事务安全连接中。