We have discovered, quite by accident, that the performance of our database application improved drastically when we increase the page size. To test this, though, we created a new database file with the new page size and started our process a new on a test machine.
There are existing installations of our software in our client base at this time. Is there any way to upgrade their existing databases to the new page size? If so, how is it done? I can't find anything in the documentation.
There is no method to change the page size of a database. As Dmitri has said, you need to rebuild the database - i.e. create a new database with the new page size and then unload your schema and data from the old database and load it into your new database. There are a couple of ways of doing this - see the section of database rebuilds for full details. The method that you need to use will depend on whether your database is involved in replication or not - the docs cover this.
Example: Assuming you are not using replication, and you wanted your new database to have a 8K page size, then the steps would be:
1: create your new database using dbinit
dbinit -p 8k new.db
2: use dbunload to copy the schema and data from the old database to the new:
dbunload -c "UID=DBA;PWD=sql;DBN=old;DBF=old.db" -ac "UID=DBA;PWD=sql;DBN=new;DBF=new.db"
answered 07 Feb '13, 19:24
You need to rebuild (unload-reload) database with new page size.
answered 07 Feb '13, 17:38
Our db performance was improved by upgrading page size to 4k.
On windows Process Monitor can be used to see the actual disk reads as they occur and may help determine if page size is causing performance issues.
Page size is one of the Performance Tips.
answered 10 Feb '13, 23:07