idxbuild

Rob Fitzpatrick

ProgressTalk.com Sponsor
If you want to rebuild all of the indexes then you don't need a script; it's a one-liner. For example:
proutil dbname -C idxbuild all [other idxbuild parameters...]

Read the 10.1C docs to see which parameters are available to you. It's not much unfortunately. Note that idxbuild performance was significantly enhanced with the addition of new algorithms, and parameters to enable them, in later 10.2B service packs (mainly 10.2B06). If minimizing downtime is at all a concern for you, you should look into using 10.2B06 or later for your idxbuild.

What the values for [other idxbuild parameters...] should be is up to you. These parameters govern the use of system resources (e.g. CPU cores, RAM, disk space) and may be limited by the OS limits for your user (e.g. file handles). If you set these parameters incorrectly and your idxbuild process crashes, this sets the "tainted" flag in the database and you have to restore from backup. Therefore, if your database contains any data that you care about, always take a full backup of your database before running an idxbuild.
 

AJH

New Member
sorry I meant a scripted version for a single table supplying all needed parms to perform the idxbuild.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
The first step is to read the docs:
Database Administration | Reference | PROUTIL utility | PROUTIL IDXBUILD qualifier

This shows the syntax tree for the command. If you want to rebuild the indexes of a single table, rather than all indexes in the database, then replace "all" with "table tablename". It's still a one-liner.

supplying all needed parms
I don't know your needs.

I suggest you read the relevant documentation; it's only four pages. Then create a list of parameters and their values that you think is sensible. If you want feedback on the list, provide it with relevant information about the database, the server, its workload, and why you are doing this idxbuild. I can't just feed you the finished answer.

Even if you do get feedback from me or others, ultimately you need to test, in your environment, with your data, to determine whether a given configuration meets your criteria for success, whatever they may be. Be sure to document your test attempts and the results.
 

cj_brandt

Active Member
There are a lot of performance improvements between 10.1C and 10.2B06 and it isn't the complexity of a major version update.
maybe the largest improvement was to idxbuild. Often when users are looking for idxbuild parameters it's because they are trying to reduce downtime on their db.
 
Top