很多人都知道,Sybase IQ是Sybase公司高性能数据仓库引擎。它专门为数据仓库应用做了许多的优化措施。因此许多人在实际开发中常常会以为在Sybase IQ中可以忽略SQL的性能问题。如果大家存在这样观念,在处理大数据量特别是做数据的ETL时候就会遇到重重困难了。
Sybase IQ中SQL写法的总结:
1、在Sybase IQ中尽可能使用临时表
2、使用Insert 代替 Update操作
3、在需要两个大表(分别在100万记录集以上)关联往第三张表插入时,建议先做Intsert,再做Update.
4、在需要根据第二张表的内容决定是否将第一张表的数据插入到第三张表时。如果前面两张表的记录数在100万以上建议不要去用Exists,否则会极大的影响性能。有可能半天都跑不出数据来。
此时,建议先做Intsert操作,再做delete操作。
这两种做法的效率可能相差在100倍以上。
5、根据需要选择建立适当的索引,如LF,HG,HNG,CMP索引等。