看discuz和phpwind他们的帖子表设计都存在拆分索引,不是在主表里做索引。
比如对分类,精华,置顶都做了分离,
主表:thread(tid, title, forumId, diggest, sticky)
副表:thread_forum_index,thread_diggest_index, thread_sticky_index
毫无疑问可以减少主表索引的大小,但是复杂度也增多了,这样做会比在主表里做 forumId, diggest, sticky 的索引效率高很多吗?
看discuz和phpwind他们的帖子表设计都存在拆分索引,不是在主表里做索引。
比如对分类,精华,置顶都做了分离,
主表:thread(tid, title, forumId, diggest, sticky)
副表:thread_forum_index,thread_diggest_index, thread_sticky_index
毫无疑问可以减少主表索引的大小,但是复杂度也增多了,这样做会比在主表里做 forumId, diggest, sticky 的索引效率高很多吗?
索引是为了能快速检索, 联合索引和分开建目的都是一样的.
但是联合索引更适合于这张表在查询时条件是这个联合索引字段同时出现的情况, 分开建则更适合于单个索引字段的条件.
如果这样的查询据多, 建议建立联合索引
这样就适合建立分开每个字段的索引