原文链接:
https://www.gbase.cn/community/post/3912
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。
SQL 调优
1.1查询尽量过滤多余数据
使用表进行查询时,尽量过滤以减少数据,sql 可以通过减少投影列和增加过滤条 件尽量减少数据,以提高后续计算的数据量。
1.2表关联避免笛卡儿乘积
表关联避免无关联条件,这将导致大量结果集从而影响性能。
1.3SQL 改写
当通过性能分析发现 GBase 8a 优化器产生的不是最优计划时,很多场合下可以通 过改写 SQL 的方式避免一些性能问题。
1.4union all 优于 union
能用 union all 尽量不用 union。由于 union 操作需要进行一次去重,去重对于性 能影响很大,尽量保证相同数据只入库一次,不同表间无重复数据,进行 union all 性能会很大提升。
1.5自定义函数中避免操作表
函数在计算节点执行,因此函数中只允许操作复制表,建议函数中尽量不要操作表。
1.6尽量不使用游标
尽量不用游标。游标的操作类似将每行的值取出来,做一系列处理。如果可以去掉游标,改成一条包含多个相关子查询的sql,性能将大大提升。
1.7能用 varchar 不用 char
能用 varchar 不用 char。
Char 的空格可能影响性能;
Char 和varchar 的关联会导致关联不正确。
原文链接:
https://www.gbase.cn/community/post/3912
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




