1

我正在制作我的第一个应用程序。我是 SQL 和 GAE 的新手。Google Cloud SQL 具有“D0”层,其中“包括每天的 I/O”为 200k。我有一个例子,你能解释一下这个例子有多少个I/O吗?

假设我的 Cloud SQL 中有一个包含 10 行和 3 个标题的表。标题是“文章名称”、“作者”、“发布日期”。所以总共有30个字段。当用户启动我的应用程序并请求最新信息时,我想向用户发送所有 30 个字段。我可以使用单个 SQL 代码将其发送给用户。

该查询的执行是因为传输了 30 个字段而计为 30 个 I/O,还是因为运行了一个 SQL 查询而计为 1 个 I/O?

感谢你的帮助。

4

2 回答 2

1

定价指南有这样的说法;

数据库实例对存储发出的 I/O 请求数量取决于您的查询、工作负载和数据集。Cloud SQL 会将数据缓存在内存中,以有效地为您的查询提供服务并最大限度地减少 I/O 请求的数量。

换句话说,这两个选项都不是,有些查询可能完全从内存中提供服务,不产生 I/O,而有些可能会产生很多 I/O 请求。使用索引很好地优化数据库将使您的查询更便宜,在大型表上生成表扫描将花费更多。

简而言之,同样的良好实践规则适用于在本地计算机上保持快速数据库,但不进行优化不仅会使您的查询变慢,而且会使它们成本更高。

于 2013-07-13T21:07:45.503 回答
0

I/O 数是指磁盘操作。所以这真的取决于查询和缓存的数据。

于 2013-07-20T00:14:25.053 回答