为什么要对DedeCMS数据库表索引进行优化呢?很简单,在Mysql中,索引无疑是最有效的加快查询的工具了,一个合理的索引组合会极大地提升 你的查询效率和系统性能。言归正传,你可以通过phpmyadmin或是一个叫Navicat for MySQL的软件(推荐)来管理你的数据库。
分析DEDECMS数据表信息,不难发现,所有的文章数据是存储在dede_archives和dede_arctiny,以及对应的 dede_addonarticle附加表中的。生成HTML时,sql查询主要围绕这三张表来的。个人认为,凡是要排序的字段和查询条件的字段及文档 ID都要建立索引,如果一个没有建立,将会严重影响MySQL的查询效率,最终导致生成速度变慢。DEDECMS数据表索引建立方法如下:
a)dede_archives,是文章的主表,存储文章标题、关键 字、描述、发布时间等信息,10万数据的表大小可能在30MB左右,也是我们优化的重点。你需要建立的索引字段有,id、channel、 pubdate、sortrank、ismake、typeid、mainindex、lastpost;其中,像系统默认的mainindex和 lastpost这两个组合索引,个人认为存在意义不大,可以删除,自己掂量。需要注意的是,click字段,是文档的点击数,此字段更新频率,建立索引 后会对系统维护带来一定压力,另外也有人说频繁更新的建立索引会容易导致数据库损坏,也无从查证。个人建议click字段保留,不建立索引。
b)dede_arctiny,这个表比较小,10万数据的表大小不到5MB,建议不建立索引,可以将自带的删除掉,或者只保留sortrank索引。
c)dede_addonarticle,是文章附加表,主要是用来存储文章内容的,不作索引考虑。
以上索引成功建立后,再测试下你的HTML生成速度,是不是让你精神一振呢?
4)搭建胜过Apache十倍的高并发Web服务器 Nginx + PHP(FastCGI)
Web服务器的重要性不需多言,对提升网站性能有着直接影响。在PHP开发中,最常用的环境莫过于在 LAMP:Linux+apache+mysql+php了,在windows下有 WAMP:Windows+apache/iis+mysql+php,我的WEB站点也是在这种环境下开发的。Nginx + PHP(FastCGI)无疑是你最好的选择,在Windows和Linux下都可以安装,只是Windows下的Nginx表现要远远逊色于Linux。
DedeCMS系统运行是依赖PHP+MYSQL环境的,所以说一个运行快、资源消耗小的Web服务器对提升系统性能有多重要。如果条件允许的条件,还是推荐下Nginx + PHP(FastCGI)这种WEB服务器环境。
以上就是DedeCMS数据负载性能的优化方案,针对的是有独立WEB服务器或控制权限的站长,至于虚拟主机想 达到这个速度还是很费劲的,但是也可以作为DedeCMS性能优化的一个参考依据,自己琢磨琢磨了。当然,如果有更好的提高DedeCMS数据负载性能的 办法,还希望分享下。其实,正常情况下(不包括采集),一般站点数据量也都有限,20万就很了不起了吧?我想,以上的DedeCMS优化方案足以解决了。 真到了百万级、千万级数据的时候,也不是一般站长需要考虑的事了。
标签:织梦DedeCMS
相关阅读 >>
dedetag engine create file false dede栏目生成错误
dedecms织梦模板用array调用多个自定义字段并判断的方法
dedecms php7以上版本备份数据还原不出来正常数据的解决方法
dedecms上传图片提示upload filetype not allow错误解决方法
更多相关阅读请进入《织梦DedeCMS》频道 >>