如果我将bigint unsigned设置为mysql上myisam表的主键,是否存在性能问题?

如果我将bigint unsigned设置为mysql上myisam表的主键,是否存在性能问题?,mysql,Mysql,我还想知道,我是否应该使用varchar或bigint作为主键来存储大约11-15位的大ID,哪一个性能更好 谢谢。bigint bigint是8字节 varchar大约有13个字节 整数也比字符串快。 另外,varchar被认为是一个动态字段,如果您将所有字段都保持静态,您可以获得相当大的性能提升。实际上很多。使用INT而不是BIGINT可以显著减少磁盘空间。仅此一项改变就可以为您节省10%-20%,具体取决于您的具体情况。更重要的是,当用作主键以及外键和索引时,索引大小可以减少50%,这将提

我还想知道,我是否应该使用varchar或bigint作为主键来存储大约11-15位的大ID,哪一个性能更好

谢谢。

bigint bigint是8字节 varchar大约有13个字节

整数也比字符串快。
另外,varchar被认为是一个动态字段,如果您将所有字段都保持静态,您可以获得相当大的性能提升。

实际上很多。使用INT而不是BIGINT可以显著减少磁盘空间。仅此一项改变就可以为您节省10%-20%,具体取决于您的具体情况。更重要的是,当用作主键以及外键和索引时,索引大小可以减少50%,这将提高使用这些索引时的性能


阅读此处:

针对字符串pk还有一件事-如果使用INNODB引擎,pk还定义了行聚集键的物理顺序,因此如果插入的行顺序不正确,即使插入也会有更多的开销和碎片。对于数字,您可以有自动增量列,因此每个数字都会比前面的更大…

我还没有测量过,但我认为bigint比varchar15更好