您好我想知道使用Int和String ID为Entity Key有多大的性能差异。
我无法找到任何关于此的文章。在我看来 大规模比较长字符串必须比int64s慢得多,或者我错了,并且有一些很酷的算法使它以相同的速度运行。
我想使用sha256哈希作为字符串ID,但与int ID相比,不想丢失任何东西。
例如,如果我有1 000 000个相同类型的实体并且我使用sha512具有字符串ID(128个字符)用于实体,则将比使用相同数量的int64 ID读取(从数据存储获取)1个实体更慢实体?如果是,那么多少?
感谢您的回答或建议,希望我解释得对。
答案 0 :(得分:7)
我认为不会有任何区别。 App Engine存储了数万亿个实体,我相信他们的团队中有足够的计算机科学博士来优化检索单个记录这样的基本任务。
即使存在差异,也可以忽略不计。我无法想到一个重要的用例。
还有更多决策对绩效产生更大的影响。
我认为您应该专注于首先吸引数百万用户。到达那里后,您可以筹集大量资金,然后就可以优化您的申请。