gpt4 book ai didi

java - 创建时数据存储写入过多

转载 作者:行者123 更新时间:2023-12-01 15:27:56 24 4
gpt4 key购买 nike

您好,昨天问了一个问题,现在已经简化了问题,看看是否可以更轻松地解决/诊断。

我正在尝试批量创建 500 个 JDO 实体,每个实体都有一个“Key”作为主键、两个索引字符串和一个未索引字符串。

当我创建 500 个实体时,它使用 6% 的数据存储写入配额(来自 500000 的配额),即 30000 次写入操作,相当于每个实体 60 次写入。在开发服务器上,“写入操作”为 6,这与有关数据存储写入的各种评论一致。没有搜索,也没有复合索引,我只是创建 500 个实体。

那么为什么我的实体需要 60? JDO实体如下:

import javax.jdo.annotations.Extension;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.google.appengine.api.datastore.Key;

@PersistenceCapable
public class Product {

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private String productId;
@Persistent
private String productName;

@Persistent
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
private String merchantProductId;

.
.// getters and setters here but not included in post
.
}

在循环中创建 500 个实体:

private void createBulkProducts(PrintWriter out){
int cnt = 0;
Product tmpProd = null;
PersistenceManager pm = PMF.get().getPersistenceManager();
ArrayList<Product> products = new ArrayList<Product>();
for(cnt = 0; cnt < 500; cnt++){
tmpProd = createBulkProduct(new Integer(cnt).toString());
products.add(tmpProd);
}
if(products.isEmpty() == false){
pm.makePersistentAll(products);
out.println(products.size() + " bulk products committed to database");
}
pm.close();
out.println(cnt + " bulk products inserted");
}

private Product createBulkProduct(String cnt){
Product product = new Product();
product.setMerchantProductId("mid" + cnt);
product.setProductId("pid" + cnt);
product.setProductName("the quick brown fox jumps over the lazy dog " + cnt);
return product;
}

我在 GAE 1.6.1 上运行

非常感谢所有帮助/建议克雷格

最佳答案

免费应用程序的每日配额是 50k 写入操作,而不是 500k。查看您的仪表板,其中应显示 n.nn of 0.05 Million Ops

考虑到这一点,所有计算都可以。

关于java - 创建时数据存储写入过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9944722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com