2014-03-25 63 views
1

假设我们有1分亿美元的记录,并想将它们存储在OneThree表按post_type。InnoDB缓冲池和多个连接

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

注意:我们有足够的RAM将所有数据存储在缓冲池中。 (40 GB)
在我们的情况,Reading从数据库太多

的问题是:WHILE整个数据为ON缓冲池(RAM),有什么不同in performance3分离表和Join他们,或有1大表,并从中Select没有任何Join

在某些情况下,最好的,我们有分离表用于其他种类的光的查询。
但我们担心JOINS

回答

1

我发现下面的文章在SQL Server大联接。通过本文中的信息,一张非常大的表格可能会比加入三张大表格更快。但是,这是从2006年开始的,所以有些信息可能会过时。

http://www.mysqlperformanceblog.com/2006/06/09/why-mysql-could-be-slow-with-large-tables/

编辑:还值得一提的是,你应该看看,你要使用的每个操作的频率。如果您需要经常加入表格,那么您可能需要使用一张表格。如果您不太经常参加表格,您可能需要使用三张表格。