I believe you have a problem in that you set PDQPRIORITY to 1 before
you do an update statistics on the procedures. Informix will run the
procedures with the PDQPRIORITY that their statistics were updated
with. So all of your procedures will run with PDQPRIORITY 1.
Here is a quote from John Miller III:
Attention: When using PDQPRIORITY with UPDATE STATISTICS, you do not
want to accidentally compile your stored procedures with the
PDQPRIORITY turned on. If you run UPDATE STATISTICS with PDQPRORITY set
to 50 to build data distributions and compile store procedures, the
stored procedures execute with the compiled time PDQPRIORITY, not the
PDQPRIORITY of the user who executes the procedure. This is why it is
recommend to always use the phrase "for table" when building
distributions. The following statement will build distributions for the
entire database: UPDATE STATISTICS high for table.
http://www-128.ibm.com/developerworks/db2/zones/informix/library/techarticle/miller/0203miller.html
hatricom wrote:
> Hi,
>
> how can I obtain a short time for my update statistics on a large
> databases.
> It's run on a machine with 8 processors, 32 Gb Ram, RHEL4 and IDS 10
> FC4.
>
> My script for update statistics begins with update statistics medium on
> database and continue with update statistics low and high for the
> tables which are most used.
>
> I use PDQPRIORITY 80 for tables and 1 for procedures.
> DBUPSPACE=25000:1000
> The script finish in about 5 hours, the database is 70 Gb large.