Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我应该在客户端代码中存储什么作为索引?_Mysql_Database_Google App Engine - Fatal编程技术网

Mysql 我应该在客户端代码中存储什么作为索引?

Mysql 我应该在客户端代码中存储什么作为索引?,mysql,database,google-app-engine,Mysql,Database,Google App Engine,我正在使用谷歌应用程序引擎和存储用户。以前,我使用MySQL为我的userId字段自动递增int,但现在GAE为我存储的每个新实体自动生成一个键,例如g5kZXZ-aGVsbG93b3JsZHIKCxIEVXNlchgNDA,但它们也自动生成一个自动递增的ID int 我应该在客户端代码中使用哪一个作为用户ID存储?使用GAE生成的长键有什么好处吗?或者使用小int-ID在性能和查找方面是一样的吗?两者之间有什么优势吗,或者说实际上没有什么区别 编辑:对不起,我的问题不够清楚。我的问题是: 这与

我正在使用谷歌应用程序引擎和存储用户。以前,我使用MySQL为我的userId字段自动递增int,但现在GAE为我存储的每个新实体自动生成一个键,例如
g5kZXZ-aGVsbG93b3JsZHIKCxIEVXNlchgNDA
,但它们也自动生成一个自动递增的ID int

我应该在客户端代码中使用哪一个作为用户ID存储?使用GAE生成的长键有什么好处吗?或者使用小int-ID在性能和查找方面是一样的吗?两者之间有什么优势吗,或者说实际上没有什么区别

编辑:对不起,我的问题不够清楚。我的问题是:
这与长度无关,但有了查找键是否比没有它提前了一步?因为如果我想查找一个用户,我必须通过电子邮件查找他,但是现在我有了“表”中该行的键,这会给我带来任何好处吗?

任何一个都可以,使用长字符串或短字符串来标识用户之间没有性能差异。

请记住,生成的实体ID不能保证是单调递增的值。

您是在说使用还是其他什么?我将通过他们的文档了解这两者的长期计划是什么,以及如何使用它们。选择一个看起来最长且不变的。好吧,这不是长度的问题,但如果有钥匙能让我比没有钥匙早一步吗?因为如果我想查找一个用户,我必须通过电子邮件来查找他,但是现在我有了“表”中该行的键,这会给我带来什么好处吗?你可能会想通过键来查找,因为数据存储的API为此进行了优化。在高性能场景中,维护自动递增ID也是低效的,因此您可能需要研究删除它。好的,很好。那么,如果我已经有了钥匙,我怎么能快速取回呢?目前我正在做的是
users=User.all()users.filter(“userEmail=,userEmail)User=users.get()
是否只是通过另一个过滤器?如果您有密钥,您可以调用
db.get(key)
——无需查询,它接受多个键来获取多个实体。好的,还有最后一件事,当我在这里的时候:前4列是由系统生成的。密钥名称代表什么?去掉字段ID(不确定是否可能)会减少写操作的数量吗?