我的用户表中有四个字段
reset_password_code CHAR(128)
reset_password_expiry DATETIME
email_verification_code CHAR(128)
email_verification_expiry DATETIME它会降低数据库性能吗?有什么最佳做法吗?我担心的不是空间,而是时间。
更新:
如果我将CHAR改为VARCHAR,它会解决空间问题吗?
发布于 2012-07-04 07:16:30
理论上,更多的字段意味着更多的空间和更多的访问时间。但是,如果您讨论的是数据库设计,这将不是一个问题。
实际上,您必须关注记录的数量,而不是字段的数量。这是因为,随着记录数量的增加,搜索时间也会增加。
这就是为什么我们设置一个合适的字段作为主键。在搜索将在不同字段上的情况下,您可能会发现您无法拥有多个主键。这是使用索引的时候。也就是说,您应该根据将用于搜索的字段创建一个索引。这就是如何提高效率的方法。
在过去,我构建了MySQL + PHP应用程序,其中有超过2000万条记录。而使用搜索获得大约1万张记录只需不到10秒。
秘密不在于字段的数量,而在于创建索引/主键的方式。
所以,不要担心您拥有的4个字段:)
https://stackoverflow.com/questions/11323991
复制相似问题