Abosulte Database, Page Size, Page Count, Max Connections And Crypto Algorithm


    Considering the Performance , and regardless of the database size in Megabytes, I would like to know the best Page Size, Page Count, Max Connections And Crypto Algorithm for creating a new database in Absolute database.

in my Application, the user will have the option to use the database in multi-user mode or single (local) mode.
   when multi-user is the option, maximum number of users to access the database will not exceed 20 users.

  My Application uses around 80 Tables, let us say they will be 100 tables maximum for future updates and customer requests.

  Some fields should be a 255 characters String, some of them are BLOBS. may contain images.

 Another note, it may help determine the above options, is that sometimes, customer will chose the database location on a FLASH memory.

Thanks in Advance.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

For best performance, minimize property, the following information will help you for best set of Absolute Database

Page Size

Indicates the size of the database file page (Set the lower values of PageSize for small databases).

Page Count
Indicates the number of pages in the database file extent.

Max Connections
It is recommended to set MaxConnections limit as small as possible

ID  Name         Patented   MaxKeySize   BlockSize   Speed
05  Blowfish     No         448bits      64bits      2.46mb/sec
09  Rijndael     No         256bits      128bits     2.12mb/sec
06  Twofish      No         256bits      128bits     2.12mb/sec
i7madAuthor Commented:
Thanks for your reply, what you said is what exactly in the Help file.

I don't understand what exactly the meaning of Page file and Page count and How the values of these two options can affect the performance of my database while considering not to limit my customer for the size of fields.

if the lower values we make performance better, we should consider not to get an error message saying "field is too large to fit in your database", that's why I provided information about how my database will be, and what fields my customers may store.
i7madAuthor Commented:
"can Effect the performance"

sorry for typo
Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

Page size and page count depend to fields size, so to set minimum value i suggest you to change that value after you finish building database and tables, you can use DBManager (Until came with source)
Go to Database menu > Change Database Params, minimize Page size and count until you find value without error message,
i7madAuthor Commented:
this is impractical

do you mean it is true that the lower page size & page count, the fastest database you have?
Page size, page count and Index depend to size of database, and Crypto Algorithm depend to speed of database
i7madAuthor Commented:
Sorry but I don't think so, Page size & count has to do with performance of Database
May Page size depend to virtual memory,

Absolute database had not good documentation i have more than 2 years working with Absolute Database, i made comparison between it and other desktop database (dbase, paradox, accuraser ...), i tried to get best performance but it was difficult, finally i found DBase is best database desktop about storage and speed.
read here :

Do not encrypt database if not really necessary.

Absolute database is a really good database.One of the best....
Absolute database may not be the fastest database, however compared to real client-server databases as Firebird or MS SQL it is notably slower. But, on the other side it is really handy, its engine compiles in your .exe and you have full SQL92 support. Including complex queries, selecting from multiple databases, something that even some serious databases are still missing. Well I started using it some 5-6 years ago when I first wrote "BDE Replacement" or similar into Google and ABS DB was all over the results. Well, as I said previously ABS DB is not fast, it is just feature rich.

How to speed it up:
- Page Size , people ask should be bigger or smaller, generally should be smaller
Large database pages require more memory, so it is resource consuming. It can also slow down your database because a larger page takes longer to read. How to determine the page size. It depends from many factors, mostly from row length, indexes depth... That's why we can not determine it simply when you say I will have few string fields, blobs, etc. How I do it for myself. I usually increase the default value from 4096 to 8112. I then construct all the tables and indexes. Finally I start decreasing page size until I get the error message "Record is too large to fit in current database. Please increase page size of database or decrease record size". Then I know I am on the edge. :) The larges page size that I used was 6144 and I still think that I didn't optimize the database well back then. Smaller page size means also smaller on disk size.
- Page Count in Extent, this parameter can increase speed, but also can increase disk size of database. Generally it means that how many pages should be kept on the drive as reserved space. Reserving space during other operations means losing speed, so keeping some space after deleting records can mean that database will not need to allocate additional space next time it writes to database. The larger page count is the faster DB should be and also bigger on drive. I usually keep the default 8.
- Max Connections, more parallel connection, more concurrency and the database will be slower. Put as much as it's necessary. Do not leave the default 500, make it 30, 50% more that the projected. The bigger this number is you risk making your database snail fast and also increase the size on disk.
- Crypto algorithm, I would use Blowfish as fastest.

Plus your database speed will depend on many other parameters as indexes, use them wisely, put them only where necessary and on places that can later be searched by index. Too many indexes per table can slow down your application as indexes also need to be maintained, so every update or delete will need to take care of bulk of indexes.

Where available use integers instead of text. Don't use text as primary keys if applicable. Somehow by my experience numbers are handled better and faster.

Try not to make your strings too long. If you use it for "first name" make it 25, not 255, for "last name" make it 40 for example. I know that is easier to set them all on 255, but pretty quickly they will take the toll on performance.

Well good luck setting some and experimenting wth other parameter,

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
i7madAuthor Commented:
Thanks for the great answer
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.