当我阅读到1.6.2章 “Neo4j 底层存储结” 时,书中第20页讲述关系类型、属性、属性索引时有一个图1-18,感觉图中的关系类型、属性处有误,属性是否是固定长度33字段呢,网上查到的好多资料都显示属性是41个字节,而且感觉配图有与文字说明也有不对的地方,文字说属性有4个属性快,图中并没有标记出来。所以这点看的雨里雾里得不到正确的答案看好难受。
通过查看Neo4j 3.4.5的源代码,终于找到答案了,属性的存储结构确实是41个字节。书中第20页图应该需要勘误@zhizh 源代码如下: public class PropertyRecordFormat extends BaseRecordFormat<PropertyRecord>{ public static final int DEFAULT_DATA_BLOCK_SIZE = 120; public static final int DEFAULT_PAYLOAD_SIZE = 32; public static final int RECORD_SIZE = 1/next and prev high bits/ + 4/next/ + 4/prev/ + DEFAULT_PAYLOAD_SIZE /property blocks/; // = 41 public PropertyRecordFormat() { super( fixedRecordSize( RECORD_SIZE ), 0, StandardFormatSettings.PROPERTY_MAXIMUM_ID_BITS ); } //。。。。。略 } 希望书籍再版时能修改过来