暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

优化 SQL 性能丨概览

PingCAP 2023-08-31
120

本章内容描述了如何在 TiDB 中优化 SQL 语句的性能。为了获得更好的性能,你可以从以下方面入手:

  • SQL 性能调优。
  • Schema 设计:根据你的业务负载类型,为了避免事务冲突或者是热点,你可能需要对表的 Schema 做出一些调整。

SQL 性能调优

为了让 SQL 语句的性能更好,可以遵循以下原则:

  • 扫描的数据越少越好,最好能只扫描需要的数据,避免扫描多余的数据。
  • 使用合适的索引,对于 SQL 中的 WHERE 子句中的 Column,需要保证有相应索引,否则这将是一个全表扫的语句,性能会很差。
  • 使用合适的 Join 类型。根据查询中各个表的大小和关联性,选择合适的 Join 类型也会非常重要。一般情况下,TiDB 的 cost-based 优化器会自动选择最优的 Join 类型。但在少数情况下,用户手动指定 Join 类型可能会更好。
  • 使用合适的存储引擎。对于 OLTP 和 OLAP 混合类型的负载,推荐使用 TiFlash 查询引擎,具体可以参考 HTAP 查询

Schema 设计

如果根据SQL 性能调优调优后任然无法获得较好的性能,你可能需要检查你的 Schema 设计和数据读取模型,来确保避免以下问题:

推荐阅读

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论