【问题标题】:Innodb buffer pool and multiple joinsInnodb 缓冲池和多个连接
【发布时间】:2014-03-25 19:14:44
【问题描述】:

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

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

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

问题是:WHILE整个数据都在缓冲池(RAM)上,in performance3 分隔表和Join 它们有什么区别,或者有@987654328 @big table 和 Select 没有任何 Join

在某些情况下,我们最好为其他类型的轻量查询使用单独的表。
但我们害怕JOINS

【问题讨论】:

    标签: mysql sql performance join innodb


    【解决方案1】:

    我找到了下面关于 sql server 中的大连接的文章。按照本文中的信息,一个非常大的表可能比连接三个大表要快。但是,这是从 2006 年开始的,因此某些信息可能已经过时。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多