简单回答下:
1.索引;可以查看执行计划判断是表扫瞄还是索引扫瞄,观察索引字段是否被利用;
2.表连接;sort merge-join,nested loop和hash join ;应尽可能用到哈希连接(hash join);PS:尽量通过索引字段关联;
3.过滤条件的使用;尽量把条件写在最底层缩小筛选集合,后面的查询会在这个比较小的数据集里面查找;
4.锁;这个主要是影响并发性,加的是行锁还是表锁,是否发生锁扩大到这锁等待 ,导致数据队列等待等等;
DB2的执行计划是优化器根据统计信息和语句,进行各种访问计划的成本比较后,选择成本最低的一个访问计划。所以除去语句本身之外,统计信息是最重要的因素。
如果数据倾斜情况严重的话,统计信息不一的能够反映出来,会导致访问计划不是最优的。