Skip to content

SQL 查询优化经验

后端代码中

并行执行多个 sql 时:

  1. 几个 sql 不能相互有关联
  2. 总的执行时间取决与执行时间最长的 sql

用 pandas 进行数据处理时:

  1. 数据量不能过大(不超过百万级)

SQL 语句优化

  1. 通过改变关联的关系,inner join、left join 替换
  2. 用临时表代替一些复杂或有递归,且被多次调用的 sql 代码块
  3. 将大表变成小表(需要根据实际情况,测试大表查询对总查询时间的贡献)

数据库优化

  1. 对表建索引,一般维度密度 < 10% 的情况下效果较好。
  2. 建分区表:筛选条件有按日期或区域或某个维度查询,维度数据量较大,可以将整个表按照日期或区域或其他维度分区
  3. 开启并行:根据服务器条件配置。一般核数决定并行数。

Released under the MIT License.