gpt4 book ai didi

MySQL-SQL_BIG_SELECTS

转载 作者:行者123 更新时间:2023-11-29 20:55:25 25 4
gpt4 key购买 nike

嘿,我一直在研究 SQL_BIG_SELECTS,但到目前为止 MySQL 文档并没有什么帮助。我正在寻找一些关于防止出现如下错误的见解。

ERROR 1104: The SELECT would examine too many records and probably take a very long time. Check your WHERE and use SET OPTION SQL_BIG_SELECTS=1 if the SELECT is ok

  1. MySQL 在多少行时决定查询是“BIG SELECT”?
  2. 正确的索引通常可以解决这个问题吗?
  3. SQL_BIG_SELECTS 被视为“最后的手段”还是好的做法?
  4. 如何在配置中设置“SQL_BIG_SELECTS=1”(无需执行查询)?
  5. 还有其他值得了解的替代方案吗?

提前致谢!

最佳答案

  1. MySQL 根据“max_join_size”的值确定查询是否为“大选择”。如果查询可能需要检查超过此数量的行,则会将其视为“大选择”。使用“显示变量”查看最大连接大小的值。

  2. 我相信索引,特别是一个好的 where 子句将防止这个问题的发生。

  3. SQL_BIG_SELECTS 用于防止用户意外执行过大的查询。在mysql.cnf中将其设置为ON或在启动时使用命令行选项即可。

  4. 您可以在 my.cnf 中或在服务器启动时设置 SQL_BIG_SELECTS。还可以使用 SET SESSION SQL_BIG_SELECTS=1 基于 session 进行设置。

  5. 我想不到。我只是检查您的查询以确保您确实需要使用它。我们的服务器默认打开它,并且 max_join_size 非常大。

关于MySQL-SQL_BIG_SELECTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37674485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com