I have a db (db2 mounted with a jt400 jdbc driver) which slows down project building a lot (more than 5mn) in the developer, and same effect when restarting the server.
I have the same server mounted with another driver, jdbc/odbc which use a local odbc resource (client access driver) and this does not slow down anything.
While jdbc is a lot more direct than jdbc to odbc, why is the startup time so different?
After startup, working speed is normal.
To be mentionned: the main table used by a form is over 6M records.
how many tables/columns are we talking about?
The server and the developer do try to load database metadata (schema’s. tables, columns)
So somehow that seems to be is slow
it is indeed. the strange thing is that it is driver related, I have tested with exactly the same db with both drivers and the jdbc is giving the bad result.
Is there a way to restrict this startup inventory to just the tables I need? the jdbc list views with tables, this is a lot here, while the odbc lists them as a sub-tree.
I have the feeling that when usingd odbc, tables get listed quickly at startup, but when I need to list table fields, it requests for it in real time and I have to wait, while the jdbc, after its long startup inventory gives instant answers for fields lists.
Also can I prevent to rescan this info when no change has been done?
I have approx 800 tables in this library + 2 smaller ones, but I use 10 tables or so only.
lesouef:
Is there a way to restrict this startup inventory to just the tables I need?
You may try using the catalog and/or the schema, we pass them to the driver as filter.
lesouef:
the jdbc list views with tables, this is a lot here, while the odbc lists them as a sub-tree.
is the total number the same? in that case it does not matter, it is just that the drivers report their types differently,we group by that.
lesouef:
I have the feeling that when usingd odbc, tables get listed quickly at startup, but when I need to list table fields, it requests for it in real time and I have to wait, while the jdbc, after its long startup inventory gives instant answers for fields lists.
Also can I prevent to rescan this info when no change has been done?
I have approx 800 tables in this library + 2 smaller ones, but I use 10 tables or so only.
The list of tables is scanned only at startup of server/developer, you cannot prevent that since Servoy always uses the actual table info reported by the driver.
Rob
yes the overall amount of tables + views is the same.
well, so basically I am trapped with this driver, slow startup is rather ok on a server, but in developper, unbearable.
I’ll see, I may cheat and change the server driver on server only and keep the same name. As solutions just know db servers names, I should be able to change that and get rid of the client access odbc on servoy server.
If anyone has more success with the jt400 driver on db2, let me know…
thanks for answering.
We also run into this issue as we have a database with a large number of tables. One trick I use sometimes is to disable the database servers (except for the Servoy repository one) before I shutdown Developer and then of course startup is faster next time around. You’ll need to re-enable the database servers again after startup but it does speedup the initial startup by a lot. I really wish there was a way to turn off the initial sync at startup as well.
a small add-on on this. it seems to be driver independant unlike I mentionned before. without adding no table, the pb is back after new relations have been created, so the startup inventory is doing something else than querying table and field names…
and this is very @/#! , several minutes…
update: it’s not…
it depends on some relations. the problem is to locate the guilty one after you’ve done 20 new ones in a day.
is there a way to follow in real time the build process to find out what is taking 15mn to build… or a log file?
lesouef:
update: it’s not…
it depends on some relations. the problem is to locate the guilty one after you’ve done 20 new ones in a day.
is there a way to follow in real time the build process to find out what is taking 15mn to build… or a log file?
No, but you can cancel the build or disable automatic builds.