假设我们有10亿条记录,并希望按post-u类型将它们存储在OneThree表中。

post_id   -> primary key
post_type -> ( page, group, user )
user_id   -> index
date      -> index

注意:我们有足够的内存来存储缓冲池中的所有数据。(约40GB)
在我们的情况下,数据库中的Reading太多
问题是:当整个数据都在缓冲池(RAM)中时,有没有不同的in performance分隔表和3它们,或者有Join大表和1而没有任何Select
在某些情况下,对于其他类型的轻量级查询,最好使用分隔表。
但我们害怕Join

最佳答案

我在下面的文章中找到了关于sql server中大型连接的内容。根据本文中的信息,一个非常大的表可能比连接三个大表更快。但是,这是2006年的,所以有些信息可能已经过时了。
http://www.mysqlperformanceblog.com/2006/06/09/why-mysql-could-be-slow-with-large-tables/
编辑:同样值得注意的是,你应该看看每次操作的频率。如果需要经常连接表,则可能需要使用一个表。如果要减少连接表的频率,则可能需要使用三个表。

09-29 23:14