Page 1 of 1

PostPosted: Wed May 30, 2007 2:53 am
by cbovio
I now use dataface for little backoffices with little databases.

I've a 700Mb database, several tables are more 800 000 records. I've tried to test dataface on such tables : display fisrt 10 records takes more 15 seconds and i've had to extend memory allocated from 16Mb to 20Mb. Then, if a click on a record detail (there is no relationships), i've memory error, ask me to allocate more than 44Mb !

This table has 550 000 records, 30 fields and 200Mb in MyISAM format.

My existant backoffice in php4 shows lists, dŽtails and make searches in less 0.5 second with 16Mb allocated for php. phpmyadmin too. How can i show each dataface sql queries with durations to find the trouble ?

Thanks.

PostPosted: Wed May 30, 2007 9:50 am
by shannah

Almost allÊ queries run through the Dataface/DB.php class's query() function, so you can check to see what is being queried by adding a little bit of debugging code in there.

I have used Dataface on projects of similar size (1 million plus rows) and it seems to handle it fine.Ê Dataface *should* be smart about what it loads, never loading the entire table into memory.Ê The only exception to this is with valuelists.Ê Make sure you don't have any valuelists that are doing a select on one of those massive tables.

Another thing: are you using mysql 4 or mysql 5?Ê Are you using Views or just directly on tables.Ê I have run across problems when used with Views because Dataface tries to obtain the size of a table on every request - and this can take time for views - since the size has to be calculated.

Please keep me updated on your progress on this one, as if there is a bug that is causing it to blow up on large databases, I'd like to squash it.

-Steve


PostPosted: Thu May 31, 2007 6:06 am
by cbovio
I'm using MySQL 5 without views, directly table.

No valuelist at the moment : my test was very simple, dataface only on this big table, without any relationship, valuelist, delegateclass or other.

next week, I'll trace queries in DB.php to see more.

Thanks.