SQL计数-大于某个数字而不必获取准确的计数?
当Ruby分页gem遇到大表时,有一个线程在讨论它的问题 当记录数较大时,分页将显示如下内容: [1] [2][3][4][5][6][7][8][9][10][完] 当记录数量巨大时,这可能会导致性能损失,因为要准确计算(比如)5000万条以上的记录需要时间。但是,在这种情况下需要知道的是,计数大于要显示的页数*每页记录数 是否有比获取准确的SQL计数-大于某个数字而不必获取准确的计数?,sql,ruby-on-rails,ruby,Sql,Ruby On Rails,Ruby,当Ruby分页gem遇到大表时,有一个线程在讨论它的问题 当记录数较大时,分页将显示如下内容: [1] [2][3][4][5][6][7][8][9][10][完] 当记录数量巨大时,这可能会导致性能损失,因为要准确计算(比如)5000万条以上的记录需要时间。但是,在这种情况下需要知道的是,计数大于要显示的页数*每页记录数 是否有比获取准确的计数更快的SQL操作,它只会断言计数大于某个值x?您可以尝试 SQL Server: SELECT COUNT(*) FROM (SELECT TOP 1
计数
更快的SQL操作,它只会断言计数
大于某个值x?您可以尝试
SQL Server:
SELECT COUNT(*) FROM (SELECT TOP 1000 * FROM MyTable) X
MySQL:
SELECT COUNT(*) FROM (SELECT * FROM MyTable LIMIT 1000) X
幸运的是,SQL Server/MySQL将优化此查询。显然,您应该将所需的最大页数*每页的行数*改为1000页。您可以尝试使用
SQL Server:
SELECT COUNT(*) FROM (SELECT TOP 1000 * FROM MyTable) X
MySQL:
SELECT COUNT(*) FROM (SELECT * FROM MyTable LIMIT 1000) X
幸运的是,SQL Server/MySQL将优化此查询。显然,您应该将所需的最大页数*每页的行数*改为1000页。您可以尝试使用
SQL Server:
SELECT COUNT(*) FROM (SELECT TOP 1000 * FROM MyTable) X
MySQL:
SELECT COUNT(*) FROM (SELECT * FROM MyTable LIMIT 1000) X
幸运的是,SQL Server/MySQL将优化此查询。显然,您应该将所需的最大页数*每页的行数*改为1000页。您可以尝试使用
SQL Server:
SELECT COUNT(*) FROM (SELECT TOP 1000 * FROM MyTable) X
MySQL:
SELECT COUNT(*) FROM (SELECT * FROM MyTable LIMIT 1000) X
幸运的是,SQL Server/MySQL将优化此查询。显然,您应该设置所需的最大页数*每页的行数,而不是1000页。您正在使用的DB client是什么。。Postgresql,MySql。。哪一个?您正在使用的DB客户端是什么。。Postgresql,MySql。。哪一个?您正在使用的DB客户端是什么。。Postgresql,MySql。。哪一个?您正在使用的DB客户端是什么。。Postgresql,MySql。。哪一个?
TOP
功能来自哪个数据库引擎?您是否有一个通用的解决方案,可以在整个数据库中使用?TOP
功能来自哪个数据库引擎?您是否有一个通用的解决方案,可以在整个数据库中使用?TOP
功能来自哪个数据库引擎?您是否有一个通用的解决方案,可以在整个数据库中使用?TOP
功能来自哪个数据库引擎?您是否有一个通用的解决方案,可以在整个数据库中使用?