Changing BIGINT to INT

时间:2022-01-03 作者:tim

我们有一个运行Buddypress网络的WP页面,它是高度动态的。我们试图找出减少负载和存储的每一个可能的机会,并发现相当多的表使用BIGINT值。E、 g.用户表,并通过这样做,引用用户ID的所有其他关系表。

我们永远不会有40亿(!!!!)这应该是常规UNSIGNED INT的限制。因此,我提出了一个问题,这是否是一种非常简单的方法来减少存储,或者通过在执行查询时处理较小的信息来稍微减少MySQL服务器上的负载。

我的意思是我理解BIGINT是有意义的-例如,对于Posteta和usermeta数据,因为每个上传的图片等都被视为一篇文章,随之而来的是大量元数据。。。

将所有userid字段更改为INT是否有任何不利之处?我的意思是,这是一个使用PHPMyAdmin的简单操作。。。

编辑:Unsigned INT处理40亿用户,而不是400万用户(我最初编写的)。因此,无论是谁,如果他想用4b个用户来支持WP,从而使所有用户ID字段(在帖子、usermeta等中)的空间翻倍,那他一定是疯了:D

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

不应该有任何负面影响。用户ID转换为int 在WP PHP文件的许多地方。

但我认为这不是真正的性能问题。如果您的查询很慢,那么检查每个查询并寻找机会来改进查询或添加索引可能会更有用。如果您的瓶颈实际上是DB主机文件系统上的IO,请考虑寻找更好的DB服务器,因为这在其他情况下也会影响您。

此问题已在WordPress Trac 14年前,它被项目负责人马特关闭了…

希望WP有一天能够成功,需要它

因此,如果你遇到这样的情况,即你的博客拥有地球上每一个人的成员,别忘了向马特致谢!

相关推荐

AWS LightSail Wordpress-使用mysqli连接到实例上的数据库

我在AWS Lightsail上有一个wordpress网站。在那个网站上,我想使用一个短代码来使用mysqli从数据库中检索数据。但是,每次执行连接到数据库的脚本时,我都会收到一个连接错误。数据库位于同一AWS Lightsail实例上。我想知道是否需要建立SSH隧道,因为如果连接到phpmyadmin,也需要建立SSH隧道。但是,由于脚本是在服务器本身上执行的,因此在我的理解中,这并没有真正意义。我在本地主机上使用了完全相同的代码,它工作得非常好。我错过了什么?//Params to connect