If a mapping joins multiple source tables in one customized data object, you might be able to improve performance by optimizing the query with optimizing hints. Also, single table select statements with an ORDER BY or GROUP BY clause may benefit from optimization such as adding indexes.
Consider the following solutions for query bottlenecks:
Create optimizer hints to tell the database how to execute the query for a particular set of source tables.
Usually, the database optimizer determines the most efficient way to process the source data. However, you might know properties about the source tables that the database optimizer does not. The database administrator can create optimizer hints to tell the database how to execute the query for a particular set of source tables.
Configure optimizer hints to begin returning rows as quickly as possible, rather than returning all rows at once.
Use optimizing hints if there is a long delay between when the query begins executing and when the Data Integration Service receives the first row of data. Configure optimizer hints to begin returning rows as quickly as possible, rather than returning all rows at once. This allows the Data Integration Service to process rows parallel with the query execution.
Create an index on the ORDER BY or GROUP BY columns.
Queries that contain ORDER BY or GROUP BY clauses may benefit from creating an index on the ORDER BY or GROUP BY columns. Once you optimize the query, use the SQL override option to take full advantage of these modifications.
Configure the database to run parallel queries.
You can also configure the source database to run parallel queries to improve performance. For more information about configuring parallel queries, see the database documentation.