I'm using Firebird during my application. There's a database that receives load daily. The relaxation during the day the queries are read-only (choose queries).

Can there be in whatever way of enhancing performance? For instance, I do not require the concurrency charge of the database because I'll make just SELECT queries.


Since you will find lots of reads from database you should use indexes heavily if required. This might accelerate queries with blocking and sorting.

Database engine instantly handles concurrency and does not lock database objects if you will find only SELECT queries into it. And So I don't believe you should look at el born area for perfomance improvement.

What amount of the database is required everyday? You may be reading through small area of the data and therefore you are able to cache the information at application layer and save database call completely.

Because the record within the database is readonly, you should use SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED and stop any securing up for grabs. This more often than not enhances scalability considerably. I put this on my read SPs nowadays because it has saved me many occasions.