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(a)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