I have a report in Evisions Argos that runs in 1-2 minutes on one server and for almost an hour on another. It is the exact same datablock with the exact same code, just running against a different database.
I won't display the script here, I just want to开发者_运维技巧 know what kinds of things our Argos Admin should check for (I don't have access to the server, I'm just a DataBlock Designer).
Oracle performance tuning is a vast topic. There are people out there who make (very good) livings out of tuning other people's queries. So you really aren't going to get much joy here.
But the general advice is actually pretty obvious: if the same query performs differently in two different environments the cause must be due to some difference between them.
- Volumes of data (number of rows)
- Distribution of data (development or test data may have different characteristics from live data)
- Data structures (indexes, materialized views)
- Stale statistics
- Hardware - amount of RAM, quality of IO, size and type of storage.
- Resource contention (more users, different types of users e.g. long running reports)
There are all sorts of tools you can use to diagnose performance problems. These depend on which version of the database you have, which edition you've licensed and also whether you have any of the chargeable options.
But regardless, the first place to start is with the documentation. Find out more.
精彩评论