【问题标题】:google cloud storage mySql query reads only a few hundred lines per secondgoogle云存储mySql查询每秒只读取几百行
【发布时间】:2021-01-26 01:57:39
【问题描述】:

我已经建立了一个包含大约 100GB 表的数据库。我在 gcs 上使用 4cpu 和 15GB 内存。当我进行查询时,我可以从读/写操作仪表板中看到每秒只读取几百行,这将需要很长时间才能完成。

查询是在 DBeaver 上完成的,从附图中可以看出,这不是一个复杂的查询。我就是不明白为什么这么慢??

查询是这样的:

"""插入到 analytics_agg ( 哈希, 产品, 界面, click_time_0, click_time_5, click_time_10, click_time_30, click_time_60) 选择 哈希, 产品, 界面, 计数(当 click_time=0 然后 1 否则 0 结束时的情况), 计数(click_time=5 then 1 else 0 end)的情况, 计数(click_time=10 then 1 else 0 end) 的情况, 计数(click_time=30 then 1 else 0 end)的情况, 计数(当 click_time=60 then 1 else 0 end 的情况) 来自分析 按哈希、产品、接口“”“分组

【问题讨论】:

  • 您好,请考虑发布不包含您的项目名称和 Cloud SQL 实例名称的图片版本。请注意,此信息可被视为 PII,不适合通过 StackOverflow 等公共论坛分享。

标签: mysql google-cloud-sql


【解决方案1】:

当您从一个表中选择并插入另一个表时,从第一个表中选择对最终插入率和性能有很大影响。

尝试创建以下索引,它应该会优化选择查询并提高插入的整体性能:

ALTER TABLE `analytics` ADD INDEX `analytics_idx_hash_product_interface` (`hash`,`product`,`interface`);

【讨论】:

  • 这是个好主意,它确实尝试过。问题是,对于这个查询,速度只提高到每秒大约 2000 行,这又将花费太长时间(5 亿行),所以引擎盖下发生了一些事情,使它爬行,我不明白它是什么
  • 答案很好。您如何从 DBeaver 连接到 Cloud SQL(Cloud SQL 代理,直接使用安全连接)?增加实例的层级是否会提高查询性能?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-17
  • 1970-01-01
  • 1970-01-01
  • 2021-10-04
  • 2019-08-13
  • 2017-10-08
  • 2013-06-25
相关资源
最近更新 更多