Subject Re: derived table within EXISTS (was: Different performance Superserver VS. Embeded ?)
Author danyschaer
Hi Set;

First of all, thank you for following this case.

I can reproduce this case on any standard PC using Windwos XP, with
differents results, but poor results in all the -first- cases.

As I suggested in previous messages, I guess, this issue has some
relation with how Firebird is using caches. It sounds to me that
Firebird is not using its own internal caches, and it is only using
the system caches, in all the cases. (Please remember I left all the
default firebird.conf in my tests).

In all the tests, if the database is on the cache, then the results
are very good (2 or 3 seconds). But, if I shut down the server
machine, then turn it on again, start FlameRobin, and run the test,
my best resutl is 5 minutes, and my worse was 23 minutes.

In your test on your Windows XP, Set, maybe you copied the database
to your local drive, and then you inmediatly started the test; if you
did that, the whole database was on the system cache before, and
because of that it was that fast.

As I said, I use all the defaults settings in the Firebird
SuperServer. But you can see very clear what I say, if you set
MaxFileSystemCache = 0.

If I understand whath the documentation says, MaxFileSystemCache = 0
will avoid the use of file system caches. Setting to 0, my tests
needs allways more than 12 or 13 minutes on my normal test machine.

That makes my thing about how Firebird uses its own cache. I do not
know if I have to set any other parameters to set Firebird caches,
but it sounds to me it is not using its own cache, or it is using it,
but it is short for my case.

Any idea?

Thank you!

Dany