Hi,
I'm evaluating Xailer (so far pretty impressed) and have some questions I
hope somebody could answer:
What is the best way to open MySQL (v5.0.11) tables with +700.000 rows?
I've tried a lot of combinations (client/serverside cursors, setting max
rows=100 etc.) using TSqlTable, but that exhaust the memory of the PC. I
guess the answer is TSqlQuery with a limit in SQL SELECT statement (the
:cSelect property, the :nMaxRecords does not help on the memory problem).
So, do I have to actively use the TSqlQuery:cSelect property, or are there
any built-in functionality in Xailer wich let us seamlessly use large SQL
datasets the same way as .DBF files? (In Clipper with COMIX I can access,
browse and filter huge .DBF files without any care about how many records
there are in the table.)
How do you do it when you design for example a browse window with such large
SQL tables?
Any idea or remark about this is appreciated, thanks.
Regards,
Paal
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Large datasets
-
- Mensajes: 216
- Registrado: Dom Sep 23, 2007 11:08 pm
- ignacio
- Site Admin
- Mensajes: 9469
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Large datasets
Dear Sir,
There is no best way I am afraid. On any SQL engine that huge Select
statement will surely affect perfomance on both, the server and the client.
As I have said many times in this forum, programming for SQL is completele
difference than programming for DBF's. I suggest you try to construct a QBE
(Query by example) form with a Browse.
Regards,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Mahanimann" <paaldalen@gmail.com> escribió en el mensaje
news:46f6d5b7$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hi,
>
> I'm evaluating Xailer (so far pretty impressed) and have some questions I
> hope somebody could answer:
>
> What is the best way to open MySQL (v5.0.11) tables with +700.000 rows?
>
> I've tried a lot of combinations (client/serverside cursors, setting max
> rows=100 etc.) using TSqlTable, but that exhaust the memory of the PC. I
> guess the answer is TSqlQuery with a limit in SQL SELECT statement (the
> :cSelect property, the :nMaxRecords does not help on the memory problem).
>
> So, do I have to actively use the TSqlQuery:cSelect property, or are there
> any built-in functionality in Xailer wich let us seamlessly use large SQL
> datasets the same way as .DBF files? (In Clipper with COMIX I can access,
> browse and filter huge .DBF files without any care about how many records
> there are in the table.)
>
> How do you do it when you design for example a browse window with such
> large SQL tables?
>
> Any idea or remark about this is appreciated, thanks.
>
> Regards,
> Paal
>
There is no best way I am afraid. On any SQL engine that huge Select
statement will surely affect perfomance on both, the server and the client.
As I have said many times in this forum, programming for SQL is completele
difference than programming for DBF's. I suggest you try to construct a QBE
(Query by example) form with a Browse.
Regards,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Mahanimann" <paaldalen@gmail.com> escribió en el mensaje
news:46f6d5b7$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hi,
>
> I'm evaluating Xailer (so far pretty impressed) and have some questions I
> hope somebody could answer:
>
> What is the best way to open MySQL (v5.0.11) tables with +700.000 rows?
>
> I've tried a lot of combinations (client/serverside cursors, setting max
> rows=100 etc.) using TSqlTable, but that exhaust the memory of the PC. I
> guess the answer is TSqlQuery with a limit in SQL SELECT statement (the
> :cSelect property, the :nMaxRecords does not help on the memory problem).
>
> So, do I have to actively use the TSqlQuery:cSelect property, or are there
> any built-in functionality in Xailer wich let us seamlessly use large SQL
> datasets the same way as .DBF files? (In Clipper with COMIX I can access,
> browse and filter huge .DBF files without any care about how many records
> there are in the table.)
>
> How do you do it when you design for example a browse window with such
> large SQL tables?
>
> Any idea or remark about this is appreciated, thanks.
>
> Regards,
> Paal
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 305
- Registrado: Jue Nov 30, 2006 12:17 am
Large datasets
Hi Paal,
Assuming you don't want to see the data in a browse you could use ADO
directly to acces the data:
For example:
oCon := CreateObject("ADODB.Connection")
oCon:Open(<connection string here>)
oRS := oCon:Execute("SELECT * FROM <table> WHERE <where statement>")
DO WHILE ! oRS:Eof
value := oRS:Fields[<field name>]:Value
// do something with the value
oRS:MoveNext()
ENDDO
Regards,
Stephan
"Mahanimann" <paaldalen@gmail.com> wrote in message
news:46f6d5b7$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hi,
>
> I'm evaluating Xailer (so far pretty impressed) and have some questions I
> hope somebody could answer:
>
> What is the best way to open MySQL (v5.0.11) tables with +700.000 rows?
>
> I've tried a lot of combinations (client/serverside cursors, setting max
> rows=100 etc.) using TSqlTable, but that exhaust the memory of the PC. I
> guess the answer is TSqlQuery with a limit in SQL SELECT statement (the
> :cSelect property, the :nMaxRecords does not help on the memory problem).
>
> So, do I have to actively use the TSqlQuery:cSelect property, or are there
> any built-in functionality in Xailer wich let us seamlessly use large SQL
> datasets the same way as .DBF files? (In Clipper with COMIX I can access,
> browse and filter huge .DBF files without any care about how many records
> there are in the table.)
>
> How do you do it when you design for example a browse window with such
> large SQL tables?
>
> Any idea or remark about this is appreciated, thanks.
>
> Regards,
> Paal
>
Assuming you don't want to see the data in a browse you could use ADO
directly to acces the data:
For example:
oCon := CreateObject("ADODB.Connection")
oCon:Open(<connection string here>)
oRS := oCon:Execute("SELECT * FROM <table> WHERE <where statement>")
DO WHILE ! oRS:Eof
value := oRS:Fields[<field name>]:Value
// do something with the value
oRS:MoveNext()
ENDDO
Regards,
Stephan
"Mahanimann" <paaldalen@gmail.com> wrote in message
news:46f6d5b7$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hi,
>
> I'm evaluating Xailer (so far pretty impressed) and have some questions I
> hope somebody could answer:
>
> What is the best way to open MySQL (v5.0.11) tables with +700.000 rows?
>
> I've tried a lot of combinations (client/serverside cursors, setting max
> rows=100 etc.) using TSqlTable, but that exhaust the memory of the PC. I
> guess the answer is TSqlQuery with a limit in SQL SELECT statement (the
> :cSelect property, the :nMaxRecords does not help on the memory problem).
>
> So, do I have to actively use the TSqlQuery:cSelect property, or are there
> any built-in functionality in Xailer wich let us seamlessly use large SQL
> datasets the same way as .DBF files? (In Clipper with COMIX I can access,
> browse and filter huge .DBF files without any care about how many records
> there are in the table.)
>
> How do you do it when you design for example a browse window with such
> large SQL tables?
>
> Any idea or remark about this is appreciated, thanks.
>
> Regards,
> Paal
>
-
- Mensajes: 216
- Registrado: Dom Sep 23, 2007 11:08 pm
Large datasets
Hi Stephan,
> Assuming you don't want to see the data in a browse you could use ADO
> directly to acces the data:
> For example:
> oCon := CreateObject("ADODB.Connection")
> oCon:Open(<connection string here>)
> oRS := oCon:Execute("SELECT * FROM <table> WHERE <where statement>")
Is this different from using a TMySqlDataSource with TSqlQuery?
Thanks,
Paal
> Assuming you don't want to see the data in a browse you could use ADO
> directly to acces the data:
> For example:
> oCon := CreateObject("ADODB.Connection")
> oCon:Open(<connection string here>)
> oRS := oCon:Execute("SELECT * FROM <table> WHERE <where statement>")
Is this different from using a TMySqlDataSource with TSqlQuery?
Thanks,
Paal
-
- Mensajes: 305
- Registrado: Jue Nov 30, 2006 12:17 am
Large datasets
Yes, it's different. It's worth trying. However, if you want to display data
in a grid than you should use the Xailer controls. But 700.000 records in a
grid doesn't make sense!
Regards,
Stephan
"Mahanimann" <paaldalen@gmail.com> wrote in message
news:46f7967c$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hi Stephan,
>
>> Assuming you don't want to see the data in a browse you could use ADO
>> directly to acces the data:
>> For example:
>> oCon := CreateObject("ADODB.Connection")
>> oCon:Open(<connection string here>)
>> oRS := oCon:Execute("SELECT * FROM <table> WHERE <where statement>")
>
> Is this different from using a TMySqlDataSource with TSqlQuery?
>
> Thanks,
> Paal
>
>
>
in a grid than you should use the Xailer controls. But 700.000 records in a
grid doesn't make sense!
Regards,
Stephan
"Mahanimann" <paaldalen@gmail.com> wrote in message
news:46f7967c$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hi Stephan,
>
>> Assuming you don't want to see the data in a browse you could use ADO
>> directly to acces the data:
>> For example:
>> oCon := CreateObject("ADODB.Connection")
>> oCon:Open(<connection string here>)
>> oRS := oCon:Execute("SELECT * FROM <table> WHERE <where statement>")
>
> Is this different from using a TMySqlDataSource with TSqlQuery?
>
> Thanks,
> Paal
>
>
>
-
- Mensajes: 216
- Registrado: Dom Sep 23, 2007 11:08 pm
Large datasets
> Yes, it's different. It's worth trying. However, if you want to display
> data in a grid than you should use the Xailer controls. But 700.000
> records in a grid doesn't make sense!
No, not with SQL, but with Clipper/COMIX it doesn't matter. I'm thinking
about how to make the user interfaces with SQL approach. But before I do
anything about that I'm playing with ADS to see if I get the Clipper/COMIX
effect from it. (i.e. don't care about how many rows/records there are in
the dataset.)
Thanks for your reply,
Paal
> data in a grid than you should use the Xailer controls. But 700.000
> records in a grid doesn't make sense!
No, not with SQL, but with Clipper/COMIX it doesn't matter. I'm thinking
about how to make the user interfaces with SQL approach. But before I do
anything about that I'm playing with ADS to see if I get the Clipper/COMIX
effect from it. (i.e. don't care about how many rows/records there are in
the dataset.)
Thanks for your reply,
Paal
-
- Mensajes: 216
- Registrado: Dom Sep 23, 2007 11:08 pm
Large datasets
> There is no best way I am afraid. ... As I have said many times in this
> forum, programming for SQL is completele difference than programming for
> DBF's. I suggest you try to construct a QBE (Query by example) form with a
> Browse.
Ok.
Would you say it is possible to get the Clipper/COMIX effect (i.e. it
doesn't matter how many rows/records there are in the dataset) with ADS,
preferably using a dictionary with .ADT tables?
Thanks,
Paal
> forum, programming for SQL is completele difference than programming for
> DBF's. I suggest you try to construct a QBE (Query by example) form with a
> Browse.
Ok.
Would you say it is possible to get the Clipper/COMIX effect (i.e. it
doesn't matter how many rows/records there are in the dataset) with ADS,
preferably using a dictionary with .ADT tables?
Thanks,
Paal