当前位置:  开发笔记 > 后端 > 正文

用于大型表的MySQL主键列类型

如何解决《用于大型表的MySQL主键列类型》经验,为你挑选了1个好方法。

我正在使用相对较大的DB表(700K行)处理该项目.

错误,我在设计数据库架构时做了.当行增加时,我不得不增加ID的列类型bigint(x).

现在它是bigint(44).我害怕设置高x值因为我认为它会显着降低性能.也许我错了..

请帮我解决问题.

我可以设置哪种列类型并忘记此问题?

在数据库架构设计领域我应该学到什么?



1> Greg..:

创建列时,BIGINT(44)"44"是显示宽度 - 它不会影响您可以存储的值范围或检索它们的速度.

对于自动递增ID,您要使用UNSIGNED数字,例如BIGINT(44) UNSIGNED.这将使值的范围加倍并添加额外的约束,这通常是一件好事.

一个未签名的INT将存储最多4,294,967,295一个未签名的BIGINT将存储多达18,446,744,073,709,551,615 - 你不会很快填补它.

你没有说你的最大ID增长有多快 - 如果你没有插入很多行,那么你应该坚持使用,UNSIGNED INT因为它占用的空间更少.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有