我在谷歌上搜索了一下,但没有找到任何东西。我想删除wordpress wp\\U posts表中未使用的列,以保存数据库存储。。。
我知道如果表列为空,它不会影响我的空间,但维护表可以提高我的网站性能!!!,目前23 columns
在我的wp\\u posts表中。。。
我有1,200,000 Rows
在我的wp\\U posts表中,大小为:1.2 GB
, 它将增加到30,000,000 Rows
在2个月内。。。
有许多字段不在我的使用中,所以我如何删除它们,这样就不会影响我的wp项目??
我担心如果我删除任何专栏,可能我的网站将无法在任何阶段工作。
Columns that i want to delete :
post_date
post_date_gmt
ping_status
post_password
to_ping
pinged
post_content_filtered
//more if possible, i will update my posts, but i dont need last modify date.
post_modified
post_modified_gmt
提前感谢:)
SO网友:fuxia
删除这些列不会对表大小产生太大影响。但它会的break the regular WordPress queries, 因为SQL写查询和读查询正在引用这些列。如果没有,SQL将无效,您只会得到一个MySQL错误,而不是结果。
1.2 GB不是那么多。正常的InnoDB表可以容纳up to 64 TB:
最大表空间大小为40亿个数据库页(64TB)。这也是表的最大大小。
您的索引可能有问题。下面是如何分析它们的一个很好的解释:How to calculate a specific InnoDB index size?
您可能希望在导入期间关闭索引创建,或完全更改现有索引。
另一种选择是partitioning, 使用多个逻辑上看起来像一个的物理表。不知道WordPress如何处理这个问题,因为limitations.
或者考虑为您的数据使用一个完全独立的表。将这些内容纳入常规查询并不难。有许多过滤器可以更改数据库查询,您可能会找到一个适合您需要的过滤器。