如何在谷歌应用引擎中测量一个I / O.

时间:2013-07-13 20:24:15

标签: ios google-app-engine google-cloud-sql

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

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

该查询的执行是否被计为30个I / O,因为传输了30个字段或者因为运行了一个SQL查询而导致了一个I / O?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

The pricing guide有这个说法;

  

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

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

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

答案 1 :(得分:0)

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