云数据库 GaussDB-冷热数据问题导致SQL执行速度慢:原因分析

时间:2023-11-01 16:16:29

原因分析

同一条SQL语句在数据库中执行第一次和第二次可能会性能差异巨大,这是由数据库的buffer_pool机制决定的:

  • 第一次执行时,数据在磁盘上,称之为冷数据,读取需要一定的耗时。
  • 读取完,数据会被存放于内存的buffer_pool中,称为热数据,读取迅速;对于热数据的访问速度极大的超过冷数据,所以当数据是热数据时,SQL语句的执行速度会远快于冷数据。

该场景中,源端数据库中常用的数据一般是热数据,所以访问时速度极快。当数据迁移到云上GaussDB(for MySQL)时,第一次执行同样的SQL语句,很可能是冷数据,就会访问较慢,但再次访问速度就会得到提升。

support.huaweicloud.com/trouble-gaussdb/gaussdb_trouble_0401.html