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