昨晚看了一下wordpress的数据库设计,发现有两点比较奇怪:
分类和分类类别是拆开成两张表的,不过这个可以理解,方便拓展;
但是post表里,存储了文章,文章内的资源文件,菜单存在了一块,比如发了一篇文章,里面有5张图片,那么就是6条数据,文章本身是一条,资源是五条,资源类别贴上附属物标签,给个文章的父id,就是说把文章内容和媒体库存在了一起,还存了其它的,比如菜单栏的菜单,一个标签是一条,以及文章的各种版本,草稿啦。这样一来,会不会就有点乱,还有点臃肿?文章content本身就存了img标签,那这些媒体条目的作用就是预览,获取地址等操作,是不是可以单独拿出来,还有菜单是不是也可以拿出来,不然每次查询菜单要捞一张那么大的表?
wordpress这样做有什么原因么,有什么优点?还是说是有历史原因,考虑兼容不好优化?还是什么因素?
那如何是你,你会怎么设计这些表?
我觉得wordpress这么做维护了一张大的表,可能方便做全文搜索吧!具体原因我也不是很清楚,但是可能会有这方面的原因吧!当然了,如果是我我是不会这么设计的,具体也要看是否考虑到全文搜索这种功能需求吧!