Ik voel me best een noob om deze vraag te stellen, maar stateless is redelijk nieuw voor me
Ik heb een tabel met een paar honderdduizend tot milioenen records aan data. Ik wil deze niet in zijn geheel inlezen om een paar regels te tonen, dus ik heb de textgrid 12 regels groot gemaakt, met een eigen scrollbar ernaast. Deze heeft de max ingesteld op het aantal records in de tabel. Verder heb ik muis en toetsenbord opgevangen, zodat scrollen buiten deze regels, ervoor zorgt dat de scrollbalk position verplaatst wordt en het volgende blok data getoond wordt. Met mock-up data werkt dit perfect.
Nu wil ik uit de SQL alleen deze 12 regels aan data uit de DB overzenden naar de GUI (en later naar web). En als ik verder naar beneden scroll (of op web de knop [> Volgende] indruk) de volgende 12.
Het liefst zou ik zeggen:
select * from myTable
where <condition>
order by OrderDate DESC
limit from 456123 to 456134
Maar dat is een utopie.
Bij iedere stap die je zet, in de logic alles uit de database halen en dan alleen de records 456123 t/m 456134 doorsturen naar de gui of web is ook enorm vertragend en belastend, dus dat lijkt me niet de oplossing.
Aangezien ik vast niet de enige ben die stateless data wil tonen, en ook niet iedere keer een hele tabel (of database) over de lijn wil sturen, geloof ik vast dat hier een aantal slimme koppen zitten die een slimme oplossing voor weten.
De vraag is algemeen over SQL maar ter info:
- Programmeren in Lazarus / FPC
- Gebruik nu een MariaDB tabel
- Wil sowieso ook met Postgresql en MS Sql gaan communiceren
- Momenteel alleen bezig voor een proof-of-concept.
Ik heb een tabel met een paar honderdduizend tot milioenen records aan data. Ik wil deze niet in zijn geheel inlezen om een paar regels te tonen, dus ik heb de textgrid 12 regels groot gemaakt, met een eigen scrollbar ernaast. Deze heeft de max ingesteld op het aantal records in de tabel. Verder heb ik muis en toetsenbord opgevangen, zodat scrollen buiten deze regels, ervoor zorgt dat de scrollbalk position verplaatst wordt en het volgende blok data getoond wordt. Met mock-up data werkt dit perfect.
Nu wil ik uit de SQL alleen deze 12 regels aan data uit de DB overzenden naar de GUI (en later naar web). En als ik verder naar beneden scroll (of op web de knop [> Volgende] indruk) de volgende 12.
Het liefst zou ik zeggen:
select * from myTable
where <condition>
order by OrderDate DESC
limit from 456123 to 456134
Maar dat is een utopie.
Bij iedere stap die je zet, in de logic alles uit de database halen en dan alleen de records 456123 t/m 456134 doorsturen naar de gui of web is ook enorm vertragend en belastend, dus dat lijkt me niet de oplossing.
Aangezien ik vast niet de enige ben die stateless data wil tonen, en ook niet iedere keer een hele tabel (of database) over de lijn wil sturen, geloof ik vast dat hier een aantal slimme koppen zitten die een slimme oplossing voor weten.
De vraag is algemeen over SQL maar ter info:
- Programmeren in Lazarus / FPC
- Gebruik nu een MariaDB tabel
- Wil sowieso ook met Postgresql en MS Sql gaan communiceren
- Momenteel alleen bezig voor een proof-of-concept.