You may face one or more of these time-consuming issues:
- Unloading and loading of large Sybase tables
- Routine utility operations (reorgs)
- Complex queries
- Database migration or replication
- Generating test data for Sybase
Specific performance diagnoses and tuning also take time, and may affect other users. Finally, stored SQL procedures may also be programmed inefficiently, require optimization, and then still take too long to run.
Accelerate reorgs by performing them offline; i.e., use the file system instead of encumbering the database.
Start by dumping table data through IRI FACT (Fast Extract), which supports Sybase IQ and ASE, OCS 15 and later. If you do not have FACT, offload tables using a SQL SELECT statement to flat files.
Next, use the SortCL program in IRI CoSort to filter, sort, join, and aggregate the extracts in parallel. The Sybase SQL Server Reference Manual recommends external pre-sort to accelerate index creation during database loads. Multiple tables created quickly in query index order should help speed queries.
"CoSorting" data in the file system prior to loading Sybase can:
- Speed load performance between 2 and 10X
- Remove the sorting aspect of the load
- Reduce database and disk overhead
- Increase load processing rate (rows per hour)
The recommended technique says to pre-sort flat files on the clustered index key. CoSort is designed to sort huge files in parallel, with performance scaling linearly in volume.
You will want to create a clustered index. But first, eliminate the indexes by creating tables without indexes or triggers, or by dropping them from the table to be loaded. Then you can:
- CoSort the data on the primary index key
- bcp load the sorted table using fast bcp path (as there are no indexes on the table)
- Use the SQL command CREATE INDEX, using the SORTED_DATA option, to create the clustered index.
CoSort's SortCL program can also transform and reformat data for database migrations and custom (detail, summary, and delta) reports, and protect sensitive data at the field level with a variety of encryption, masking, and other functions.
To rapidly populate Sybase with safe test data, use the high-volume test data generator, IRI RowGen. RowGen uses your data models to automatically generate the test data for an entire database with referential integrity.