Google cloud platform 在BigQuery中使用LOWER进行高效排序

Google cloud platform 在BigQuery中使用LOWER进行高效排序,google-cloud-platform,google-bigquery,Google Cloud Platform,Google Bigquery,这篇精彩的文章讲述了在where子句中使用LOWER()的低效性以及搜索文本的更高效的方法。在ORDER BY子句中有类似的方法吗?例如: SELECT * FROM mytable ORDER BY LOWER(first_name) 按字段名的小写文本排序的最有效方法是什么,例如按列排序时在Google Sheets或Excel中进行排序?引用博客中的RegExp方法在这里不起作用/不适用(对于按顺序排序)因为用于BigQuery正则表达式支持的库不支持各自所需的功能 特别是-re2不支持

这篇精彩的文章讲述了在where子句中使用
LOWER()
的低效性以及搜索文本的更高效的方法。在
ORDER BY
子句中有类似的方法吗?例如:

SELECT * FROM mytable
ORDER BY LOWER(first_name)

按字段名的小写文本排序的最有效方法是什么,例如按列排序时在Google Sheets或Excel中进行排序?

引用博客中的RegExp方法在这里不起作用/不适用(对于
按顺序排序
)因为用于BigQuery正则表达式支持的库不支持各自所需的功能

特别是-re2不支持在regex replace中更改大小写

如果它得到支持,您可以使用

REGEXP_REPLACE(first_name, r'.*', r'\L\0') <-- just mockup - does not work with BigQuery

REGEXP\u REPLACE(first\u name,r'.*,r'\L\0')来自各个SO的重要说明-团队的说明:
敬请期待!很快,BigQuery将使此建议变得无关紧要。
您看到了吗o) @MikhailBerlyant是的,我也注意到了。但不确定什么时候会实施。我每天都查看他们的发布文档。有些事情已经快了——你试过博客上的查询了吗?我认为在修复所有已知问题之前,我们不会更新发行说明,但前两个查询只需4或5秒,而不是10秒。我不认为在任何情况下,按较低的(…)排序应该是缓慢的;惊人的团队!!!:o) 正是——我现在必须在博客上写这件事:)