Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.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 具有临时项的数据库表的id管理_Mysql_Ruby On Rails_Database_Identifier - Fatal编程技术网

Mysql 具有临时项的数据库表的id管理

Mysql 具有临时项的数据库表的id管理,mysql,ruby-on-rails,database,identifier,Mysql,Ruby On Rails,Database,Identifier,如果希望频繁创建和删除数据库表的条目,那么处理该表ID的最佳方法是什么? 基本上,大多数条目在几天的时间跨度内都是临时的。但是,条目也可能在表中停留任意时间 在一段时间后,当达到最大键值时,使用带有自动递增的整数或长id可能会出现问题。考虑到一个庞大的用户群,大多数用户每天可能会创建十几个或更多的条目,这可能比预期的要快 因此,这是一个问题。MySQL或其他数据库是否有某种机制来获取循环ID或任何其他解决方案来以良好的性能处理此问题 顺便说一句,这是在RubyonRails应用程序的上下文中。我

如果希望频繁创建和删除数据库表的条目,那么处理该表ID的最佳方法是什么? 基本上,大多数条目在几天的时间跨度内都是临时的。但是,条目也可能在表中停留任意时间

在一段时间后,当达到最大键值时,使用带有自动递增的整数或长id可能会出现问题。考虑到一个庞大的用户群,大多数用户每天可能会创建十几个或更多的条目,这可能比预期的要快

因此,这是一个问题。MySQL或其他数据库是否有某种机制来获取循环ID或任何其他解决方案来以良好的性能处理此问题

顺便说一句,这是在RubyonRails应用程序的上下文中。我在考虑使用嵌套id,即在user\u id和user\u entry\u id上使条目唯一。但我不知道rails对这种方法的支持程度如何

编辑:
我知道我应该计算一下id范围很快就会用完的可能性有多大。我想我不必担心这个问题。如果人们能报告一些与这些问题相关的经历,他们仍然很高兴。如果有人在这方面有问题……

是的,你应该像d.N.所说的那样创建一个复合密钥,下面是另一篇文章,解释了它是如何工作的/为什么你想要它。(这篇文章是在SQL Server中发布的,但MySQL与之基本相同


RoR支持多个主键列。这是非常常见的数据库实践。(不过您确实需要扩展)

< p>我想使用UUID < /P>一个组合的主键可能是答案,正如你所暗示的。我不明白为什么RoR不支持这个。考虑ActuvReCordd关系,例如EnthsIsto,HasyOne等。当连接必须考虑两个数据库列时,这真的起作用吗?不,等等,这是不对的!不应该是个问题…。如果此链接为true(),则RoR不支持组合(或复合)主键(至少在不安装ActiveRecords的情况下,如他们所述)。。。