I would be tempted to use a monitoring tool to track exactly what traffic is passing between your application and server and identify whether the delay is client-side or server-side. Lars' questions are also pertinent - are the client and server on the same LAN segment? Have you measured performance between client and server independent of your application?
You need to initially identify whether or not the slow processing is network related. If not, tracking requests and responses with an appropriate tool may help you identify where the delays are occurring.
With some engines (I remember for example, Oracle); table.active = true really performs a select * from (table). So, it may be slow. a) Put table.active=true in form.onCreate event, and take note of time, so you can confirm that this is the problem. b) So, don't use TTable. Use TQuery and select only the records that you need. IMHO, TTable is worst than TQuery for real apps. All the records of the table in screen? if not this year, perhaps next year the table would be very big. Sure, some year in the future the table will be very big for a TTable.
I would be tempted to use a monitoring tool to track exactly what traffic is passing between your application and server and identify whether the delay is client-side or server-side. Lars' questions are also pertinent - are the client and server on the same LAN segment? Have you measured performance between client and server independent of your application?
ReplyDeleteYou need to initially identify whether or not the slow processing is network related. If not, tracking requests and responses with an appropriate tool may help you identify where the delays are occurring.
With some engines (I remember for example, Oracle); table.active = true really performs a select * from (table). So, it may be slow.
ReplyDeletea) Put table.active=true in form.onCreate event, and take note of time, so you can confirm that this is the problem.
b) So, don't use TTable. Use TQuery and select only the records that you need.
IMHO, TTable is worst than TQuery for real apps. All the records of the table in screen? if not this year, perhaps next year the table would be very big. Sure, some year in the future the table will be very big for a TTable.
Why do you need to load your whole database into memory? Seems like a pretty bad design.
ReplyDelete