【问题标题】:What is the maximum number of table joins in MariaDB?MariaDB 中的最大表连接数是多少?
【发布时间】:2014-06-16 21:01:30
【问题描述】:

MariaDB 10 中的表连接数是否限制为 61 as is the case for MySQL 或其他数字?

(我在MariaDB documentation 或谷歌搜索中找不到答案)。

【问题讨论】:

  • 这有什么关系?在正确规范化的架构中,您可能不需要像这样数量的 JOIN!
  • 取决于复杂性。我之前的项目(700 万英镑)在很大程度上解决了这个问题,不得不使用很多变通方法。
  • 那个查询已经完成运行了吗?
  • 如果使用外键,连接不等于慢。例如。见stackoverflow.com/questions/173726/…
  • 如果你在 Doctrine 中使用多表继承,这个限制是很容易达到的。是的,这通常是错误设计决策的结果,但您可能意识到改变这一点为时已晚。

标签: mysql sql join limit mariadb


【解决方案1】:

MariaDB 的最大连接数为 61 个表。

这个查询

CREATE TABLE t (i INT(10) NOT NULL);
select *
from t a01 join t a02 join t a03 join t a04 join t a05 join t a06 join t a07 join t a08 join t a09 join t a10
join t a11 join t a12 join t a13 join t a14 join t a15 join t a16 join t a17 join t a18 join t a19 join t a20
join t a21 join t a22 join t a23 join t a24 join t a25 join t a26 join t a27 join t a28 join t a29 join t a30
join t a31 join t a32 join t a33 join t a34 join t a35 join t a36 join t a37 join t a38 join t a39 join t a40
join t a41 join t a42 join t a43 join t a44 join t a45 join t a46 join t a47 join t a48 join t a49 join t a50
join t a51 join t a52 join t a53 join t a54 join t a55 join t a56 join t a57 join t a58 join t a59 join t a60
join t a61 join t a62;

产生ERROR 1116 (HY000): Too many tables; MariaDB can only use 61 tables in a join

【讨论】:

  • 很好的答案,感谢您对此进行测试。出于兴趣(为了后代),您使用的是哪个版本的 MariaDB?
  • 我使用的是 MariaDB 10.0.11。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多