提高mySQL 61表连接限制

时间:2014-03-03 21:29:12

标签: mysql drupal views limit my.cnf

我有一个Drupal 6应用程序需要比 61表连接 mySQL 限制允许更多的连接。我知道这是一个过多的数字,但它每天只运行一次,结果被缓存以供进一步参考。

是否有任何mySQL配置参数可能有所帮助,或者是否有任何其他方法无法改变收集数据背后的逻辑?

1 个答案:

答案 0 :(得分:1)

我的方法是将大量查询拆分为更小,更简单的查询,并使用临时表来存储中间步骤。我经常使用这种方法,它对我有很大帮助(有时创建一些临时表比在一个大查询中连接所有表更快)。

这样的事情:

drop table if exists temp_step01;
create temporary table temp_step01
    select t1.*, t2.someField
    from table1 as t1 inner join table2 as t2 on t1.id = t2.table1_id;
-- Add the appropriate indexes to optimize the subsequent queries
alter table temp_step01
    add index idx_1 (field1);
-- Create all the temp tables that you need, and finally show the results
select sXX.*
from temp_stepXX as sXX;

请记住:临时表仅对创建它们的连接可见。如果您需要将结果显示给其他连接,则需要创建一个“真实”表(当然,这仅适用于您的流程的最后一步)。