One of the application windows opens really slow (around 20s). After restarting the database same window takes below 2s to open. After running the system for a few days it slows down again. From that window same rows are updated many times.
What should I look for to find out why this is slowing down?
Jeff, the document you suggested was not of much help.
Test was done with only one user on the system. CPU usage is below 10%. Window opens fast after restarting database, meaning there is nothing wrong with I/O or full table scans or disc sorting. It is not optimizer problem or row migration problem either than it would run slow after restarting the database. It is only that it slows down after it is accessed many times (it does update, not the insert).
You most likely have a memory issue. Start your database with timed_statistics=true, run it until it starts to slow down, and run a bstat/estat report. This will give you some more information on what exactly is going wrong...