【发布时间】:2015-10-24 20:09:30
【问题描述】:
运行如下查询:
SELECT some_column FROM [myproject.mytable] LIMIT 1000
在大约 2.4 亿行(其中可查询的列大小小于 2GB)的数据集上需要 140 多秒才能完成。
我可以做些什么来提高表查询性能?还是我错过了什么?
编辑:
供参考的工作 ID:job__aamhffrd45gp6VEYDjQCK1JDH8
编辑 2:
我发现了一种模式,似乎只有当前正在写入的表非常慢,但这对我来说仍然是一个大问题。
【问题讨论】:
-
这不正常,但BQ工程师可以验证。对于支持之王,您需要提供工作 ID。另外:可能是网络问题(传输 1000 个结果)。你能用 LIMIT 10 试试同样的查询吗?
-
限制似乎根本没有影响它(我目前正在从 Web ui 尝试) - 我很快就会发布工作 ID。
-
@EwanWalker 试试这个
SELECT some_column FROM [myproject.mytable] a JOIN (SELECT id FROM [myproject.mytable] ORDER BY id LIMIT 1000, 10) as b ON b.id = a.id -
@AlexanderGrebenshikov 不幸的是,由于这是一个原始统计表,因此没有 ID,因为在这样的数据集中没有任何价值(据我所知,它是非关系数据)
-
@AlexanderGrebenshikov 他使用的是 Google Bigquery 而不是 MySQL。
标签: google-bigquery