It all depends on the data / use-case / resources available (to develop and to execute).
All in a DBGrid and using locate / filter = cheap to dev, OK on local data, bad on client server.
Something generic like with IBObjects: they have some tricks, like getting all PK’s required and so pulling back data as you need to see it. Still cheap to develop, but works for a limited range of problems.
or even TTable in BDE: This had a trick of when you hit end, it would get that data directly by reversing the order of the request, nearly instant.
Custom solution for your situation: Know the data is date driven / alphabet driven, then have a coarse navigator, like click on first letter or year.
Nobody wants to find a record in 5K records. It really depends on whether they need to see adjacent record when they find the one they want.
Incremental searches work well when looking for a specific record:
Works nicely, but you have to keep an eye on performance and server load if it is the primary way of navigating data.
I don’t think there is a one-solution-fits-all. We use caching as well for lots of data and load on first use or when system not doing anything / background thread.
Jason Chapman
JAC2 Consultancy Limited
--
You received this message because you are subscribed to the Google Groups "firebird-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebird-suppo...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/153a21b7-1710-4493-afc3-a76a95faa702n%40googlegroups.com.
Hi,
It really is (I think) down to the component set and then specific component you use in your Delphi Application. What is that?
For both the mySQL and the Firebird test?
What the old BDE TTable did was notice you wanted .last and it would internally close the query and issue the same query, but with the order the opposite way. It stitched the data together from memory, so it was seamless to the user.
So it is looking for what they want and then working out how to get it to them. You could certainly implement the same kind of logic yourself OR give them the ability to start typing and it issues a lazy query (background thread) for the lookup to do a “starting with” against the product code.
OR they hit the dropdown and you show next to it a grid of 26 letters and they click on the letter and it goes straight that section, again, but opening “starting with” query.
OR as I mentioned earlier in the thread, you could cache the 5K results and have some kind of “invalidation” mechanism whereby either by polling or some other communication, have a watcher that knows when the stock names change / get added / deleted and re-get them.
Aside: I actually have a search screen where the dropdown has completely different content, based on previous decisions. So the dropdown has between 2 and 500 rows. It has a dropdown AND a button. The button brings up a small selection form (and you can make these look like a popup). This can use filtering and other search criteria. So now the user decides, dropdown and scroll or button and filter / search.
A lot of info, but there are a lot of options. Let me know the component sets as I would be interested in how the mySQL remote server connection actually works.
Cheers,
Jason Chapman
JAC2 Consultancy Limited
Mob: 07966211959
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/cb73a28c-6127-4dc5-b07a-a4bd893c978bn%40googlegroups.com.
Hi!
Firebird support this, just use first and skip keywords in select.
Maybe you should write your own component to support this feature.
I think this is not Firebird but Deplhi combobox problem.
András
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/3efee14c-5560-41ea-87c3-8d698c381409n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "firebird-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebird-suppo...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/06343a39-e3d0-4285-a5c0-5519f01398aen%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/03214c14-deaf-7315-47de-1e2b4c2fa67e%40ckmHealthcare.com.
Please answer the questions:
1. Firebird exact version and bitness?
2. Firebird superserver or classic?
3. Database Page Size?
4. DB cache size settings? (consider that settings have priorites like: inside db first, aliases config second, DefaultDbCachePages in firebird.conf has lowest priority here).
Regards,
Karol Bieniaszewski
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/4GvqDG3JrKz23jS%40smtp.poczta.onet.pl.
My issue is that MySql handles it
I have seen many computer users never type anything into a search box or start typing into a combobox and simply just scroll forever with the mouse.
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/7b2c7799-0b9e-4798-b324-ec4c603304a8n%40googlegroups.com.
Hi,
Personally,
I will work with the provided API (firebird.pas) to only read the visible lines of your grid.
Norbert
If you use default settings, especially about database cache, than the behaviour you get is more then possible.
Regards,
Karol Bieniaszewski
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/44943088-612a-4392-95d8-ab9a8114552an%40googlegroups.com.
+1 for en.delphipraxis.net
OR / AND join the UKDevGroup (it does cost) and because it is a smaller group, people tend to bring things to the meeting or even do screen shares 1:1 (I am biased as I run it).
My job used to be split 1/3 training, 1/3 consulting for exactly these kind of issues and 1/3 developing bespoke software for companies. Now it is 90% developing Software, but always up for a screen share and chat, especially if I makes for a good talk (given by you) at the group.
I thought I had asked for (but I can’t find it), your test app, so I can actually look at your use case rather than hypothetically.
Jason Chapman
JAC2 Consultancy Limited
Mob: 07966211959
From: firebird...@googlegroups.com <firebird...@googlegroups.com> On Behalf Of Midsoft UK
Sent: 26 August 2021 14:21
To: firebird-support <firebird...@googlegroups.com>
Subject: Re: [firebird-support] Firebird goto last and big comboboxes with Delphi
Hi Jan
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/3c20334f-239b-4916-a919-26eff3f49c8fn%40googlegroups.com.
“I thought I had asked for (but I can’t find it), your test app, so I can actually look at your use case rather than hypothetically.”
Doh – I meant the .pas / .dfm for full source for the test project. I haven’t used MySQL in anger and would be interested what “tricks” happen and where they are implemented (FireDAC / Driver).
I am pretty sure a .last in FD for FB would be a kind of “while not eof do, read row into memory, next”.
Jason Chapman
JAC2 Consultancy Limited
Mob: 07966211959
------------------------------------
To view this discussion on the web, visit https://groups.google.com/d/msgid/firebird-support/2c4301d79aa3%24129b8dd0%2437d2a970%24%40jac2.co.uk.