Cloud Spanner 读取与 Cloud Spanner SQL API

Posted

技术标签:

【中文标题】Cloud Spanner 读取与 Cloud Spanner SQL API【英文标题】:Cloud Spanner read vs Cloud Spanner SQL API 【发布时间】:2017-07-07 06:57:57 【问题描述】:

Cloud Spanner 提供了两种不同的 API。 有什么区别?

【问题讨论】:

【参考方案1】:

在底层,它们都使用相同的执行机制,因此您应该会看到两个 API 的性能非常相似。

SQL API 更具表现力,因为它支持 ORDER BY、LIMIT、过滤等结构。但在某些情况下,读取 API 可以更简单地使用。例如,如果您只是对具有多列主键的表进行简单的表范围扫描,并且您希望查看主键大于 ("A","B","C") 的所有行,并且小于 ("X","Y","Z")。

如果您对使用哪个 API 有任何疑问,我建议您使用查询 (SQL) API,因为随着您的应用程序随着时间的推移而发生有机变化,您的简单请求实际上会增加复杂性,它会随着您的增长而增长。您需要添加额外的选择条件吗? SQL API 没有问题。您实际上需要更改结果集的顺序吗?这也很容易。

【讨论】:

以上是关于Cloud Spanner 读取与 Cloud Spanner SQL API的主要内容,如果未能解决你的问题,请参考以下文章

如何有效地与多个线程并行查询 google-cloud-spanner?

Cloud Spanner是否支持TRUNCATE TABLE命令?

联接如何在 Cloud Spanner 数据库中工作?

什么是数据局部性,为什么它在 Cloud Spanner 与 MySQL 中很重要?

用于 Cloud Spanner 的 Simba JDBC 驱动程序与 Spark JDBC DataFrame 阅读器一起使用

Google Cloud Spanner 和 Cloud SQL 有啥区别?