2011-07-27 117 views
1

我不知道是否有人作为一个好主意或解决方案中使用分页而不破之前计算的所有记录计数的所有结果CI笨分页结果没有从数据库

默认CI库,我们必须设置总数分页时,我的意思的记录,这对于大量的记录来说太大了,你不觉得吗?

如果我有多于500,000条记录要分页怎么办?

所以我的想法是尝试使用somenthing像范围分页:

页1 =>查询LIMIT 0,10

页2 =>查询LIMIT 10,20

,但我发现不少问题:

1)我无论如何都需要统计所有记录来检索页码 2)如何保存范围([1,10] [10,20] ...等)?

感谢任何人都可以帮我

+0

它应该自动执行此操作。如果你想手动设置查询数量,那么设置你的$ config [num_of_rows] ='500,000'。我的语法可能会关闭,但在pagianation教程中查找。 –

+0

我不认为分页会对500,000条记录有很大帮助。我们的目标是让数据更易于消化,但有了这么多的记录,仍然无法找到您要查找的内容。您可能希望在返回和分页之前检索一部分数据。 –

+0

我同意克里斯,做一个搜索和分页结果。这将使它更加用户友好 – Rooneyl

回答

1

如果在您使用一个LIMIT让每一个页面,然后使用FOUND_ROWS()使用您的解决方案。

它会给你行总数不包括限制。这样,您不需要两个查询,其中第一个检索特定范围,另一个检索总行。

+0

嗨ancide,感谢注意,因为我想如何在分裂他们之前不计算任何时候数据库总记录:P,有任何想法? :P – memento

+0

我不明白你的意思。你甚至尝试过使用我建议的功能吗? – rzetterberg

+0

是的,我用过男人:)这真的没问题,我想要做的是不使用查询COUNT检索总记录:P在500K记录中会导致真正巨大的数字,所以我试着看着其他一些解决方案用于检索整个行,像在单个数据库记录中保存所有行的总行数一样...但这对数据库优化应该不是很好......你的想法是什么? :P – memento