1
我需要幫助理解爲什麼我堅持使用數據存儲的模型對象之一爲什麼要花費太多的寫操作。在dev控制檯中查看數據存儲區查看器,它說我需要31個寫入操作來創建此對象;點擊查看Indexes鏈接,我可以看到,這是你的對象定義(如預期)兩項指標,並閱讀文檔:爲什麼寫操作對我的對象計數如此之高?
新實體認沽(每實體,無論實體大小):2次寫操作每個索引屬性值+ 2寫入每個組合索引值+ 1個寫
所以,如果我理解正確的話,創建或刪除對象的成本2個寫入+ 2個寫操作* 2索引屬性值+ 0(我沒有複合索引值)= 6寫操作?
要修改:
(每實體)1個寫現有實體穿戴+ 4%改性的索引屬性值寫入+ 2%經修改的複合指數值寫入
應該花費1個寫入如果非索引屬性被修改,5(或9)如果一個或兩個索引屬性被修改?我很困惑,爲什麼開發者控制檯報告所需31個寫OPS ...
的對象如下:
public class Media implements IMedia {
private static final long serialVersionUID = 1657456300412658003L;
// Get a file service
private static FileService fileService = FileServiceFactory.getFileService();
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
@Persistent
private String title;
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
@Persistent
private String author;
@Persistent
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
private Text description;
@Persistent
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
private MediaType mediaType;
@Persistent
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
private String fullPath;
@Persistent
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
private String fileName;
@Persistent
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
private long size;
@Persistent
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
private String contentType;
@Persistent
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
private boolean isDeactive;
@Persistent
private String chartId;
@Transient
private IChart chart;
@Persistent
private boolean approved;
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private Date imageDate;
@Transient
private BlobKey blobKey;
@Persistent
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
private float imageLatitute = 190;
@Persistent
@Extension(vendorName="datanucleus", key="gae.unindexed", value="true")
private float imageLongitute = 190;
...