Good afternoon, there is one DB (Transbase) to which I connect via ADO.NET. This database does not support the LIMIT SQL statement, but I need to organize paginal output (sampling a given number of row-s with the ability to set the initial offset for the table), since the tables in this database occupy gigabytes and load the entire table at once is not an option . This database supports cursors, and you can try using offset in the code, and an iterator. But if, for example, the user wants to look at the columns, starting with the 100,000th, you have to twist the cycle until it reaches this offset, which takes up CPU time and creates unnecessary loads.
How can you still organize paginal output from the database, without the LIMIT SQL statement?
FIRST. Transbase seems to support window functions; if this is true, then offset can be done usingrow_number() over. - Alexander PetrovFIRSTuseless in this context. Transbase does support window functions ( WindowFunction ), but I have not found a way to do this. The documentation says that they apply only to the SELECT statement. - DeusExMachinerow_number(), only:window_function_name ::= { AVG | COUNT | DENSE_RANK | MAX | MIN | RANK | SUM }window_function_name ::= { AVG | COUNT | DENSE_RANK | MAX | MIN | RANK | SUM }window_function_name ::= { AVG | COUNT | DENSE_RANK | MAX | MIN | RANK | SUM }- DeusExMachine