网站数据库频繁读写,会形成大量碎片,严重影响读写速度,也会影响网站访问体验。因此,需要定期优化数据表,清理数据库碎片。
大多网站使用的是MySQL数据库,网站程序不同,优化整理MySQL数据库碎片的方法也有区别。
下面以Discuz!网站、WordPress网站为例,详细介绍一下整理MySQL数据库碎片的方法和步骤。
同时,也以两种优化数据库的方法进行互相验证,看一下碎片整理最终效果如何。
一、优化、整理Discuz!网站MySQL数据库碎片的方法
如果使用的是Discuz!创建的网站,查看数据库有没有碎片,以及优化、整理数据库碎片的操作,都可以在Discuz!管理后台进行,这也是Discuz!程序易于使用的优点之一。
查看、优化Discuz!网站的MySQL数据库碎片的途径是,使用网站创始人(站长)帐号登录网站管理后台,点击顶部菜单“站长”-左侧栏“数据库”-“优化”,如下图:
通过上图可以看到,这个Discuz!网站有大量碎片的数据表已经很多了,底部显示碎片数据表大小为96.37M了。
对Discuz!网站的数据库碎片进行优化、整理,也非常方便,直接保持默认的所有待优化数据表被勾选的状态,点击下部的优化“提交”按钮,就可以对网站的MySQL数据库碎片进行优化整理,去除碎片。
二、优化、整理WordPress网站MySQL数据库碎片的方法
WordPress网站也是使用的MySQL数据库,与Discuz!不同的是,不能在WordPress后台直接对数据库碎片进行查看和优化。
查看WordPress网站的数据库碎片情况,有两个途径:
1、安装MySQL数据库管理插件
不推荐使用这种方式,因为使用插件的风险很大,特别是管理数据库这么重要的事情,一旦出差错,网站会有灭顶之灾,一定要慎重。
2、登录cPanel主机控制面板,通过phpMyAdmin管理页面
登录WordPress网站的cPanel主机管理面板页面,在“数据库”栏下,点击“phpMyAdmin”MySQL数据库管理程序,如下图:
进入phpMyAdmin页面后,点击左侧栏要管理的网站MySQL数据库,在数据库最右侧有一列名为“多余”,如下图:
phpMyAdmin管理页面上显示的MySQL数据库表的“多余”是什么意思呢?是如何形成的?
由于数据库在不断的读写过程中,不断有数据被写入,也不断有数据被删除,当有数据被删除时,后面的数据记录不可能全部前移,这就形成了闲置的空间,这就是“多余”数据。通俗地说,这些“多余”,就是数据库的“碎片”,因为它们造成了数据的不连贯,当然也就影响了数据库的读写速度。
因此,优化这些有“多余”数据的数据表,也就是整理数据库碎片。
优化、清理这些MySQL数据库中名为“多余”的碎片的方法是:点击数据表列表下面的“仅选择多余”,再点击后面的下拉菜单,点击“优化表”,就可以优化、清除这些“多余”碎片,如下图:
提示“您的 SQL 语句已成功运行”,优化成功。这时候可以看到MySQL数据表“多余”一列中,已经是空白状态了,没有碎片了。
三、整理MySQL数据库碎片的效果验证
为了验证phpMyAdmin页面中,MySQL数据库表中的“多余”是不是碎片;进行“优化表”操作,到底能否去除这些碎片,上面进行“优化表”,清理“多余”数据时,其实选择的是一个Discuz!网站的数据库。当然,优化WordPress网站数据库的操作也是一样的步骤。
在phpMyAdmin页面对Discuz!网站的MySQL数据库进行了“优化表”的操作之后,现在再登录Discuz!网站管理后台查看优化效果。
进入“站长”-“数据库”-“优化”,会看到待优化数据表列表为空,下面也有提示“数据表没有碎片,不需要进行优化”,如下图:
通过这样互相验证,可见phpMyAdmin页面中MySQL数据表的“多余”,的确是数据库“碎片”。而且选择多余数据表后,进行“优化表”操作,也可以有效地清理MySQL数据库的碎片。
为了让网站在良好的状态下运行,应该定期对网站的MySQL数据库碎片进行整理。