mysql在查询sql的select后面跟上 SQL_CALC_FOUND_ROWS
然后再执行一遍 SELECT FOUND_ROWS();就可以获取sql不带limit的查询结果数量了
postgresql 有没有这样的方法呢?
mysql在查询sql的select后面跟上 SQL_CALC_FOUND_ROWS
然后再执行一遍 SELECT FOUND_ROWS();就可以获取sql不带limit的查询结果数量了
postgresql 有没有这样的方法呢?
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
3 回答2k 阅读
没有完全对等的特性。
事实上,MySQL的这个特性唯一适用的场景就是做Web应用开发的分页查询,其他场景下没有看出来有什么合适的用武之处,而PostgreSQL的一个主要原则就是要尽量遵循SQL标准,所以PG中不太可能指望官方支持这类方言。而且带SQL_CALC_FOUND_ROWS的SELECT语句无法被缓存,所以性能上未比就是好选择
建议封装一个只读事务来做这个事情吧
反正就算你用
SQL_CALC_FOUND_ROWS
也是得写两句SELECT,开发量上差不多:D