每天如何将数据从Cloud SQL导出到BigQuery?

问题描述 投票:0回答:1

我已经创建了与Cloud SQL的连接,并使用EXTERNAL_QUERY()将数据导出到Bigquery。我的问题是,由于不对Cloud SQL表进行分区,因此我不知道导出新的几天数据的有效计算方式;但是,它确实具有日期列date_field,但其数据类型为char

我已经尝试通过调度类似类型的视图来运行以下查询,以便它插入结果:SELECT * FROM EXTERNAL_QUERY("connection", "SELECT period FROM table where date_field = cast(current_date() as char);"),但运行时间很长,而:SELECT * FROM EXTERNAL_QUERY("connection", "SELECT period FROM table where date_field = '2020-03-20';")几乎是即时的。

mysql google-bigquery google-cloud-sql
1个回答
0
投票

首先,强烈建议将“ date_field”列转换为数据类型DATE。这将在将来提高简单性和性能。

比较两个字符串时,MySQL将使用索引来加快查询速度。例如,当将字符串定义为“ 2020-03-20”时,此操作将成功执行。将当前日期转换为字符串时,比较中使用的字符集可能会有所不同,因此无法使用索引。

与“ date_field”列中的值进行比较,您可能需要检查一次转换为current_datetime的字符集。然后,您可以使用以下命令代替cast:CONVERT(current_date() USING enter_char_sets_here)

这里是不同转换功能的documentation

© www.soinside.com 2019 - 2024. All rights reserved.