php冗余数据,WordPress网站提速优化之清理数据库冗余数据

news/2024/5/15 22:17:45/文章来源:https://blog.csdn.net/weixin_42522009/article/details/116054516

最近小 C 发现数据库中有很多冗余数据,就想清理优化下数据库加快网站的运行速度,下面小 C 就教大家如何清理数据库表。

PS:请注意看观看此文请认真,一定要先备份,备份,备份重要的事说三遍。备份后在执行 SQL 语句,否则后果自负!

cd22ff5b45cf5c3c3287a1c582080e48.png

一、数据库表清理

1.wordpress 数据库表

wp_commentmeta: 用于保存评论的元信息,在将评论放入回收站等操作时会将数据放入此表,Akismet 等插件也会生成此表的数据。此表不太重要

wp_comments: 用于保存评论信息的表

wp_links: 用于保存用户输入到 WordPress 中的链接(通过 Link Manager)的表

wp_options: 用于保存 WordPress 相关设置、参数的表,里面包括了大量的重要信息

wp_postmeta: 用于保存文章的元信息(meta)的表

wp_posts: 用于保存你所有的文章相关信息的表,非常的重要。一般它存储的数据是最多的

wp_terms: 文章和链接分类以及文章的 tag 分类可以在表里找到

wp_term_relationships: 日志与 wp_terms 中的类别与标签联合起来共同存储在 wp_terms_relationships 表中。类别相关链接也存储在 wp_terms_relationships 中

wp_term_taxonomy: 该表格对 wp_terms 表中的条目分类(类别、链接以及标签)进行说明

wp_usermeta : 用于保存用户元信息(meta)的表

wp_users:用于保存 WordPress 使用者的相关信息的表

2.清理涉及到的表

更换主题,删除插件会在将数据留在数据库中,在卸载后无法被清理。除此之外,在由于一些操作,会导致数据库的冗余,比如已经没有的评论,不应该在评论元数据表中有记录,由于没有外键的约束,这些记录没有被删除,会造成数据的冗余。本文的宗旨是删除掉不必要的数据库内容,提高 wordpress 的效率。

在此,主要涉及到一下几张表:wp_options,wp_posts,wp_postmeta,wp_commentmeta

注意:清理之前进行备份

3.wp_options 的清理

wp_options 这个数据表是 wordpress 设置的全局数据,这个表会经常有数据膨胀。主要原因是:

(1)以前用过的一些插件、主题在删除之后没有进行设置的清理,造成残留数据

(2)占用数据的大户–RSS 缓存,后台的数据调用竟然会放到数据库里面

处理方法:

①网上对 RSS 处理方法有两种一个是修改后台的文件直接不去调用,这个是我不喜欢的毕竟修改了程序,其实这个很容易忘记 WP 升级是太频繁的哪次更新覆盖了新文件还是照样缓存.另外一种就是在配置文件里面填写 define('MAGPIE_CACHE_ON', '0');这个是管用的,添加以后后台首页的调用明显变慢

②使用插件 clean options

③费力但是简单的清除方法:删除 wp_options 表,会删除一些设置,需要重新设置 wordpress,推荐新手使用

TRUNCATE TABLE wp_options;

4.wp_posts 清理

wordpress 的文章有好多:wp_posts 表中包括文章种类:文章、修订版本、页面、文章的附件、菜单,其中每种文章又会有很多状态:继承、发布、私有、草稿、自动草稿、回收站中。

冗余原因:

(1)在小 C 写文章的时候,系统会保存很多的中间状态,在文章发布之后其很多的中间状态没有被删除

解决办法:

①使用插件:WP Cleaner,使用插件的好处就是有保护机制,无论怎么操作都无法影响已发布的贴子,请放心使用。

②自己动手删除,数据库中的标志删除文章,注意备份。

说明:wp_posts 的重要字段含义:

post_type:文章类型,post 表示为文章,revision 表示为修订版本,page 为页面,attachment 是文章的附件信息,nav_menu_item 是菜单。这里我们需要的是文章、页面、和菜单

post_status:文章状态,inherit 是继承的附件和文章的附带信息,publish 是已经发布、private 是私有的,draft 是草稿,auto-draft 是自动草稿,trash 是在回收站。这里我们需要的是 publish 的状态的

这里我们主要是要 已经发布的文章、页面和菜单,除此之外的都可以删除,当然可以根据自己的需求选择删除哪些DELETE FROM wp_posts WHERE NOT(post_status = 'publish' AND post_type IN('post', 'nav_menu_item', 'page'));

③去除 WP 保存修订版本的功能

WordPress 默认的功能并不都是我们想要的,比如修订版本历史对于大多数人来说是无用的鸡肋功能。所以我么需要禁止一些博客功能,来达到较为符合个人要求的博客应用。对于高手来说,可以直接修改程序的配置文件,来禁止相关功能。对于我等程序小白来说还是利用插件是最佳的选择推荐中文插件 Super Switch 来关闭一些我们不需要的博客功能。这个插件可以关闭自动保存和修订历史版本,还可以关闭博客程序、主题、插件的自动更新。功能非常强大,操作及其简单。用 SuperSwitch 禁止了保存修订版本之后,文章序号就不会断得太厉害了。

也可以使用代码版关闭:如何禁用/关闭最新版本 WordPress 的修订版本和自动保存功能

5.wp_postmeta 清理

wp_postmeta 是文章的元信息表,其数据是系统或者插件使用。

冗余原因:

(1)文章被删除之后,其在 wp_postmeta 中的数据理应被删除,在系统中多数情况是系统自动删除,但是由于人为删除文章,系统不知道被删除,就不会删除 wp_postmeta 表中的数据,造成冗余

(2)很多主题、插件没有做好及时清除的工作

解决办法:

① 手动删除

规矩删除

删除文章中不存在文章的元信息

DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT post_id FROM wp_posts);

安全删除

删除 _edit_lock 和 _edit_last 条目是安全的,所以这里给出 SQL 语句

DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';

DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';

风险删除

除了这两条还执行了一些其他语句由于有些风险:自己酌情考虑

DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';

DELETE FROM wp_postmeta WHERE meta_key = '_revision-control';

DELETE FROM wp_postmeta WHERE meta_value = '{{unknown}}';

特殊插件删除

postnav 插件会记录每个文章的访问数,如果不需要,可以删除

DELETE FROM wp_postmeta WHERE meta_key = 'views';

特殊操作删除

在 WordPress 的后台上传图片或者附件后会在 wp_postmeta 中生成 _wp_attached_file 和 _wp_attachment_metadata 两个项,wp_posts 也会记录附件的信息。如果使用 FTP 工具上传文件,表中就不会有这些信息

DELETE FROM wp_postmeta WHERE meta_key = '_wp_attached_file';

DELETE FROM wp_postmeta WHERE meta_key = '_wp_attachment_metadata';

洁癖删除

这几条条语句执行完毕能够删除掉 95%以上的数据,算的上是极限优化了,最后考虑到这个数据表并不是很重要,有洁净癖的人可以尝试清空这个表,当然我测试清空表会让一些原本的数据丢失

TRUNCATE TABLE wp_postmeta;

6. wp_commentmeta 清理

冗余原因:

(1)评论被删除之后,其在 wp_commentmeta 中的数据理应被删除,在系统中多数情况是系统自动删除,但是由于人为删除文章,系统不知道被删除,就不会删除 wp_commentmeta 表中的数据,造成冗余。

(2)很多主题、插件没有做好及时清除的工作。

解决办法:

以下语句去除没有用的数据,如果评论中没有此条评论,那么在 wp_commentmeta 也没有意义,好像 wordpress 在清空回收站的时候会删除 wp_commentmeta 相应的数据。如果不出意外,下面的操作我们应该不需要做。

DELETE FROM wp_comments WHERE comment_approved = 'trash';

DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);

在 wp_commentmeta 里面会记录评论被删除的时间,这些信息用处不是很大,当评论被从回收站删除之后,这些删除的时间意义就不是很大,就可以删除了,所以用下面的语句一样达到删除的目的。

DELETE FROM wp_commentmeta WHERE meta_key LIKE '%trash%';

如果直接全部删除 wp_commentmeta,影响不会太大,这里面不会涉及重要的数据。

TRUNCATE TABLE wp_commentmeta;

7.总结

其实大部分无用的数据均在这几张表中,清理过后应该不会又太多的冗余数据了。但这里没有针对特殊插件或主题做数据库清理,有时这些插件和主题会悄悄动了一些数据库表,这样给清理带来很大难度,需要看代码才知道哦。

二、数据库表优化

原理:数据库优化不涉及数据的删除,是将数据库的表的状态调整好。在使用 phpmyadmin 时候,或许您会看到数据库表后面有多余 xxMB 的字样,这个指的是那些已经分配给当前表但是却没有使用的空间。这个多余是没有什么害处的,他不会占用你的空间。当删除一个表的一部分记录时,这些记录仍然保持在一个 linked list 中,当插入新数据时会再次使用这些老纪录的位置。所以删除纪录会闲置一些空间造成你说的“多余”。

(1)在 phpmyadmin 手动优化或者修复表即可

(2)运行 SQL:

OPTIMIZE TABLE wp_commentmeta;

OPTIMIZE TABLE wp_comments;

OPTIMIZE TABLE wp_links;

OPTIMIZE TABLE wp_options;

OPTIMIZE TABLE wp_postmeta;

OPTIMIZE TABLE wp_posts;

OPTIMIZE TABLE wp_terms;

OPTIMIZE TABLE wp_term_relationships;

OPTIMIZE TABLE wp_term_taxonomy;

OPTIMIZE TABLE wp_usermeta;

OPTIMIZE TABLE wp_users;

(3)插件:Optimize DB

1 2 下一页阅读全文 ad51e517755f8fd6a7ec83ced4ecfaf3.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_726008.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

laravel 开发的双语网站_2019年重庆市第十二届中等职业学校技能大赛网页前端开发项目教师培训成功举办...

点上方蓝字,欢迎关注我们!2019年11月7日,重庆市第十二届中等职业学校技能大赛Web前端开发项目在重庆市南川隆化职业中学校成功举办!本次培训由重庆市教育科学研究院主办,重庆市南川隆化职业中学校承办,成都…

说说大型高并发高负载网站的系统架构(更新)【转】

我在CERNET做过拨号接入平台的搭建,而后在Yahoo&3721从事过搜索引擎前端开发,又在MOP处理过大型社区猫扑大杂烩的架构升级等工作,同时自己接触和开发过不少大中型网站的模块,因此在大型网站应对高负载和并发的解决方案上有一些…

ISA2006发布内网非80端口网站

一:环境介绍1:内部网络有几个网站需要发布A:[url]http://10.0.0.171[/url]B:[url]http://10.0.0.172[/url]C:[url]http://10.0.0.173:8081[/url]2:内部网络通过ISA2006与外网相连,ISA外网地址是…

门户网站建设方案ppt_停车场整体建设方案(ppt)

交通大脑一体化平台解决方案(ppt)数据大脑运营中心规划方案(ppt)停车大数据平台总体规划方案(ppt)停车场整体规划方案(ppt)5G智慧公交大脑平台方案(ppt)5G中杆路内视频停车解决方案(ppt)AI城市数据大脑平台建设方案(图文)城市数据大脑平台技术规划方案(ppt)城市数据大脑平台演进…

云服务器ecs上能放几个网站,云服务器ecs能放几个站点

云服务器ecs能放几个站点 内容精选换一换对于已安装Cloud-Init/Cloudbase-Init的云服务器,首次执行切换/故障切换操作,或者创建容灾演练后,系统第一次启动时会运行Cloud-Init/Cloudbase-Init,为云服务器重新注入初始化数据&#x…

ArcGIS Server网站发布后地图显示空白的原因之一

一般来说,在地图网站发布后,如果地图区域显示为空白,但可以看到其他控件,可能是因为:1、引用的service运行不正常;2、通过local方式连接而没有添加arcgis identity;3、Web Server机器名中含有下…

WordPress建站指南

WordPress建站指南前言:WordPress是我所见的博客服务程序中最好的了,可以灵活配置出令人难以置信的华丽界面,以及很多新奇有趣的功能,在享受新奇乐趣的同时,学习和分享,实在是人生一大快事。有图有真相&…

mysql5.5.28安装详最后一个步骤时为啥一直转_.NET网站自动化部署

(给DotNet加星标,提升.Net技能)转自:2Jcnblogs.com/jijunjian/p/13781048.html前言又到一年国庆,终于有了难得的几天空闲,计划陪陪媳妇娃子,再把最近阅读的几本相关书总结梳理下。当然,计划总是美好的&…

美团旅游网_类似于美团、携程、飞猪的网站还有哪些?

酒店管理郑叫兽今天给大家分享:虽然酒店行业内部的竞争激烈,但是OTA平台之间的竞争也激烈。市面上,除了携程、艺龙、去哪儿、美团、飞猪等主流平台,京东,滴滴也开始了这方面的业务。于是,ota 酒旅预定这个市…

我记录网站综合系统 -- 技术原理解析[8:ActionChecker流程]

源代码位置:\Web\Mvc\Processors:ActionMethodChecker.csForbiddenActionChecker.csLoginActionChecker.csConfig -> wojilu.Web.Mvc.CoreHandler.ProcessRequest - > wojilu.Web.Mvc.CoreHandler.ProcessRequest: ProcessContext.Begin ->Ro…

win7远程桌面需要开启哪些服务器,win7系统如何开启远程桌面_网站服务器运行维护...

win10系统重装后开机很慢怎么办_网站服务器运行维护win10系统重装后开机很慢的解决方法是:1、点击开始菜单,选择【控制面板】;2、进入【硬件和声音】选项,点击【更改电源按钮的功能】;3、点击【更改当前不可用的设置】…

外连类小说网站对服务器要求高吗,小说博客网站流量暴增,如何选择合适海外云服务器...

最近不少运营小说网站的朋友发现,自己手里的小说站和博客类网站的流量暴增,一方面流量的增长对于网站的发展是有益的,另一方面由于流量的增加对于服务器的需求也是比较大的,那么如果要迁移到海外服务器的话选择哪里的服务器比较好…

java企业开发功能模块_【笔记4-商品模块】从0开始 独立完成企业级Java电商网站开发(服务端)...

分类管理模块数据表结构设计分类表CREATE TABLE、mmall_ category (id int(11) NOT NULL AUTO_ INCREMENT COMMENT 类别Id,parent_ id int(11) DEFAULT NULL COMMENT 父类 别id当id0时说明是根节点,一级类别 ,name varchar(50) DEFAULT NULL COMMENT 类别名称,sta…

php判断网站几人在线,大神都是如何查看网页的同时在线人数啊?

网页后台是基于PHPMysqlRedisNginx的,想问下查看网页同时在线(同时查看网页)的人数有多少,有什么方案呀?回复内容:网页后台是基于PHPMysqlRedisNginx的,想问下查看网页同时在线(同时查看网页)的人数有多少,…

主流web2.0网站配色方案

色彩,你懂的,O(∩_∩)O~ 转载于:https://blog.51cto.com/hanchaohan/927314

k系列服务器启动慢,ftp上传网站到服务器速度太慢了才0点几K的速度

最近遇到一件令我本人都无言的事情,现在回想起来都觉得自己是那么的无知,本人最近利用新电脑上传网站文件到FTP服务器上,使用的是FTP软件上传,但是,上传的速度相当的慢,尤其是欲打开FTP里面的某个目录的时候…

经典网页设计:12个优秀的电子商务网站设计案例

现在越来越多的人喜欢在网上购物,像美容护肤,数码,电器,品牌服饰,家居生活,健康保健等各种生活用品都可以轻松网购。对于电子商务网站来说,让用户在购物过程中简单快捷是最重要的,其…

如何在windows计划中调用备份sharepoint2010网站集的powershell脚本

最近有个项目需要在在windows计划中使用powershell脚本备份sharepoint2010网站集,打开sharepoint的powershell执行命令管理界面的属性 查看: C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -NoExit " & C:\Program Files\Common…

几个 ICON 图标 网站

为什么80%的码农都做不了架构师?>>> 1.iconfinder https://www.iconfinder.com/ (不支持中文) 比较全面的ICON网站,有154600多个图标,内容相当丰富 2.findicons http://findicons.com/ (不支持中文) 和上面…

经典网页设计:25个华丽的 CSS 网站作品案例

CSS 是网页设计师和网页开发人员最喜欢的技术之一,因为它有大量新特性、新元素和新技术。创建一个基本的布局可能并不需要很多的时间或精力。但是,如果你想让您的设计脱颖而出,那么就真的需要花费一番功夫。今天,我向大家分享25个…