Unordered row processing
When you design a DataBlade® module, you cannot control how queries are executed. There is no guarantee that the routines in a query are called in any particular order. DataBlade module routines are called during query processing to compute answers to queries. Do not hardcode query execution strategies. For example, an attempt to force an index scan or a sequential table scan reduces the number of choices available to the query optimizer and results in poor performance.
To ensure that your DataBlade module
does not conflict with the query processing engine, ask the following
questions:
- Do any routines require values to be delivered in some particular order? If so, the routines break a fundamental rule of relational database systems and must be changed.
- Is it important for routines in a query to execute in some particular sequence? Again, the routines must be changed.