gpt4 book ai didi

mysql - Sails 不会填充大型查询

转载 作者:行者123 更新时间:2023-11-30 22:25:43 25 4
gpt4 key购买 nike

我有一个正在使用的遗留 mysql 数据库,它由 5 个表组成,其中 2 个是连接/连接表。我在 Controller 中有一个方法可以查询其中一个表并通过连接表填充一些字段。这适用于少于 1632 项的查询,但对于超过 1632 项的查询,填充字段数组不包含任何数据。没有错误被抛出,字段只是空白,例如“用户”:[]。将 SQL 查询记录到 MySQL 容器中表明,对于项目 > 1632,处理总体(inner_joins 等)的第二个查询不会出现。

有没有人遇到过这种情况?我已经在位于 Node v4.2.6 之上的 sails 0.12.0 & 0.11.4 和 sails-mysql 0.11.4 & 0.11.1 上进行了测试。我在 docker 容器中运行 api 和数据库,并测试了为 docker 主机配置更多 RAM 无济于事。

最佳答案

我的特殊问题归结为 MySQL thread_stack 大小太小。

我的调试路径是通过向 Node mysql 中的 Connection.prototype.query 函数添加 console.log 来查看进入 Node mysql 模块的水线查询sails-mysql 中的模块。然后,我获取正在生成的查询 waterline 并直接在数据库中运行它,这产生了错误 ERROR 1436 (HY000): Thread stack overrun: 246168 bytes used of a 262144 byte stack, and 16000 bytes needed.使用“mysqld --thread_stack=#”指定更大的堆栈。

非常感谢 SailsJS 的同事们帮助我解决了这个问题。具体讨论可以在https://github.com/balderdashy/sails/issues/3561找到。

关于mysql - Sails 不会填充大型查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35297182/

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