I found this:
SELECT column FROM table LIMIT N OFFSET offset
Increment offset by index*N in the loop to fetch N records at a time. But the remaining question is how do I do this using kamailio's MySQL driver? Raw query?
Allen
From: Allen Zhang Sent: Thursday, 5 June 2014 12:19 p.m. To: 'sr-users@lists.sip-router.org' Subject: MySQL query result pagination
Hi,
When an user does a REGISTER and has a large number of msilo messages stored, say 7k, kamailio server easily runs out of private memory when trying to allocate memory to the result set. I know I can set a max on the messages a user can store, but I'd like to support a crazy number like 7k messages. I'm trying to introduce paging to the query. So that I can process N number of results at one time. I can't find an easy way of doing this with the current MySQL driver. The db_mysql_query() function doesn't have built-in paging and with this function it's not easy to build a complex query like this:
Select * from silo where ...(the matching algorithm) AND id > lower_limit AND id < higher_limit, ordered by id.
Is there a way to do this? Or maybe I'm on the wrong track and there is already a solution to this problem?
Regards,
Allen Zhang