CHAR()或VARCHAR()作为ISAM MySQL表中的主键? [英] CHAR() or VARCHAR() as primary key in an ISAM MySQL table?

查看:74
本文介绍了CHAR()或VARCHAR()作为ISAM MySQL表中的主键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一个简单的表,其中包含MySQL中的用户名和密码字段.由于用户名必须唯一,因此对我来说,将它们设置为主键是很有意义的.

I need a simple table with a user name and password field in MySQL. Since user names must be unique, it makes sense to me to make them the primary key.

使用CHAR()VARCHAR()作为主键更好吗?

Is it better to use CHAR() or VARCHAR() as a primary key?

推荐答案

不妨只使用一个用户ID索引,对于连接vs char/varchar来说,它要快得多.如果您不小心扩展了架构的功能,那么现在添加所需的两秒钟可以为您节省很多时间.

may as well just use a user ID index, it's much faster for joins vs char/varchar. the two seconds it takes to add that now could save you a lot of time later if you accidently have to expand the functionality of your schema.

要考虑的一些陷阱:

  • 假设我们在将来的日期添加一些表格,如果有人想更改用户名怎么办?
  • 说应用程序比我们认为的要成功得多,我们必须考虑优化,您是否真的想在此时重做架构以减少varchar'ed索引的开销?

这篇关于CHAR()或VARCHAR()作为ISAM MySQL表中的主键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆