Subject | Re: [firebird-support] Re: Simultaneous inserts / selects |
---|---|
Author | Markov Dmitri |
Post date | 2014-10-09T11:49:21Z |
One insert in one transaction(it's feature of my task, I can't do it in another way).
Today server without 1GB interface - it's not server. But if you will start application local it's always will be faster. If connection will be via LAN it's always will be slowly. Sometimes I connect to remote server via VPN with ping 200 or higher, so application works very slow but it's work.
I never try generate scripts in threads, I use datasets and query like in usualy single thread application.
O, I forgot one important rule - "One thread - one connection". So all threads will be isolated and life will be good.
Thank you guys for your input! I appreciate it!
I have some doubts.. isn't TCP/IP a bottleneck here? I mean, I am sending for example 4 times (4 threads) more data to insert via network.
@Doychin I do have like 2-3 indexes per table but the speed in single thread was sufficient. Thanks, I hope my quest will give me some nice results:)
@Kjell Could you shed some more information about your solution? So you first insert data to external table and then you move all that data at once into the main table?
@Dmitri 300 threads? The question is how many of them are hitting the database at the same time?
I have one more generall question, do you perform your inserts one by one, I mean:
StartTransaction;
Insert;
Insert;
Insert;
Commit;
or do you generate a batch script? a text file which have in it 1000 records, or 10000 or more?
Thanks! :)
-- Regards, Markov Dmitri