观看Movable Type后台的数据库, 发现有些索引建得不是很合理, 基本上是每个列上都建了一个单独的索引, 这一招是很多软件商都采用的办法, 而不管这个列上面的选择性如何. 我主要更改了以下三个表的索引.
MT_PLACEMENT表记录了文章所属的类的信息, 更改后的索引结构如下:
+--------------------------------+------+-----------------------+
| Key_name | Col | Column_name |
+--------------------------------+------+-----------------------+
| PRIMARY | 1 | placement_id |
| mt_placement_entry_id | 1 | placement_entry_id |
| mt_placement_blog_category_id | 1 | placement_blog_id |
| mt_placement_blog_category_id | 2 | placement_category_id |
| mt_placement_category_entry_id | 1 | placement_category_id |
| mt_placement_category_entry_id | 2 | placement_entry_id |
+--------------------------------+------+-----------------------+
MT_OBJECTTAG表记录了文章和Tag的关联信息, 更改后的索引结构如下:
+----------------------------+------+---------------------+
| Key_name | Col | Column_name |
+----------------------------+------+---------------------+
| PRIMARY | 1 | objecttag_id |
| mt_objecttag_blog_tag_id | 1 | objecttag_blog_id |
| mt_objecttag_blog_tag_id | 2 | objecttag_tag_id |
| mt_objecttag_object_tag_id | 1 | objecttag_object_id |
| mt_objecttag_object_tag_id | 2 | objecttag_tag_id |
| mt_objecttag_tag_object_id | 1 | objecttag_tag_id |
| mt_objecttag_tag_object_id | 2 | objecttag_object_id |
+----------------------------+------+---------------------+
MT_ENTRY表主要是删除了几个索引(AUTHOR_ID和STATUS列上的), 更改后的索引结构如下:
+------------------------+------+-------------------+
| Key_name | Col | Column_name |
+------------------------+------+-------------------+
| PRIMARY | 1 | entry_id |
| mt_entry_basename | 1 | entry_basename |
| mt_entry_modified_on | 1 | entry_modified_on |
| mt_entry_created_on | 1 | entry_created_on |
| mt_entry_week_number | 1 | entry_week_number |
| mt_entry_blog_entry_id | 1 | entry_blog_id |
| mt_entry_blog_entry_id | 2 | entry_id |
+------------------------+------+-------------------+
其实改这些好象也没有作用, 请几个人测试后, 发现留言速度并没有加快.