Subject RE: [firebird-support] Problem with multiple isql sessions
Author Gerhard Wiesinger
Hello!

I'm not committing after each insert. I'm committing after 10000 inserts.

Of course I can do some performance optimizations with prepared statements
and external tables. But I want to check the whole database: Query parser,
query optimizer, backend, ...

And: Performance tests on the other databases are done without these
optimizations, too.

So are there any tuneable parameters for inserts in parser, optimizer
or the backend?

Thank you for the answer.

Ciao,
Gerhard

--
http://www.wiesinger.com/


On Mon, 23 Apr 2007, Nigel Weeks wrote:

> This is a fairly commonly asked question on this list. If you have a little
> search around, you'll find many answers, mainly to do with prepared queries,
> not committing after each insert, and using external tables to import data.
>
>
>
> N
>
>
>
>
>
> Nigel Weeks
>
> Tech Support and Systems Developer
>
> Rural Press Tasmania
>
> The Examiner Newspaper
>
> Ph. 03 6336 7234
>
> Mob. 0408 133 738
>
> Email. <mailto:nweeks@...> nweeks@...
>
> _____
>
> From: firebird-support@yahoogroups.com
> [mailto:firebird-support@yahoogroups.com] On Behalf Of Gerhard Wiesinger
> Sent: Monday, 23 April 2007 12:57 AM
> To: firebird-support@yahoogroups.com
> Subject: Re: [firebird-support] Problem with multiple isql sessions
>
>
>
> Ok, works well.
>
> Any ideas for performance optimizations for inserts:
>
> I'm benchmarking:
> 100x
> (10000xinsert into ... (employee table with 2 indexes, 4 columns)
> commit;
> )
>
> So whole insert is done with 1Mio Rows.
>
> MySQL (with InnoDB) takes 150s, PostgreSQL 190s, Firebird 2.01 as SS: 769s
> time isql -noautocommit -u sysdba -p password staff -i test.sql
>
> Any ideas to improve insert performance?
>
> BTW: Some commercial database editions take >1 hour with this benchmark
> ...
>
> Thnx.
>
> Ciao,
> Gerhard
>
> --
> http://www.wiesinge <http://www.wiesinger.com/> r.com/
>
> On Sun, 22 Apr 2007, Ivan Prenosil wrote:
>
>>> Ok, I'm doing a
>>> SET TRANSACTION WAIT ISOLATION LEVEL READ COMMITTED;
>>> in both sessions.
>>>
>>> But now when I'm doing:
>>> Session 1:
>>> SET TRANSACTION WAIT ISOLATION LEVEL READ COMMITTED;
>>> insert into ....
>>> -- sleep here, goto Session 2
>>> commit;
>>>
>>> Session 2:
>>> select count(*) from ...
>>> -- it hangs here until the commit
>>
>> Use
>> SET TRANSACTION WAIT ISOLATION LEVEL READ COMMITTED RECORD_VERSION;
>>
>>
>>> Firebird should handle this also very well because it has MVCC, right?
>>
>> Yes, unfortunately default for READ COMMITTED is NO RECORD_VERSION,
>> which basically means disabling MVCC.
>>
>> Ivan
>> http://www.volny <http://www.volny.cz/iprenosil/interbase/>
> cz/iprenosil/interbase/
>>
>
>
>
> __________ NOD32 2206 (20070420) Information __________
>
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
>
>
>
> [Non-text portions of this message have been removed]
>
>