优化数据装载和查询性能

优化数据装载和查询性能

使用下列技巧来帮助优化数据装载和后续的查询性能。

  • 在装载数据到现有表中之前删掉索引。

    在现有数据上创建一个数据比随着每个行被装载而增量更新索引更快。用户可以临时增加maintenance_work_mem服务器配置参数来帮助加速CREATE INDEX命令,不过装载性能会被影响。只有在系统中没有活动用户时才删除并重建索引。

  • 在装载数据到新表中时,最后创建索引。创建表,装载数据,然后才创建任何需要的索引。
  • 在装载数据后运行ANALYZE。如果一个表中的数据受到了显著的更改,运行ANALYZE或者VACUUM ANALYZE来为查询优化器更新表统计信息。当前的统计信息能确保优化器在查询规划时做出最好的决定并且避免由于不准确或者不存在的统计信息造成的糟糕性能。
  • 在装载错误后运行VACUUM。如果装载错误没有运行在单行错误隔离模式中,操作会在第一个错误处停止。目标表会包含在错误发生前已经装载的行。用户无法访问这些行,但是它们仍占据磁盘空间。使用VACUUM命令来恢复被浪费的空间。