gpt4 book ai didi

mysql - azure vm 上的自托管 mysql 服务器卡在选择数据库为 ~100mb 的地方

转载 作者:可可西里 更新时间:2023-11-01 09:03:57 25 4
gpt4 key购买 nike

我正在从运行在 Azure 实例上的 MySql 服务器 5.6 上的 3 个连接表中进行选择,并将 inno_db 设置为 2GB。我曾经有 14GB 内存和 2 核服务器,我只是将内存和内核加倍,希望这会对我的选择产生积极影响,但它没有发生。

我正在选择的 3 个表是 90mb、15mb 和 3mb。我相信我在我的请求中没有做任何疯狂的事情,我选择了几个 bool 值,但是我看到这个选择非常糟糕地卡在服务器上,我无法获取我的数据。我确实看到通过 Mysql workbench 的流量增加到 500MB/s,但不知道如何处理。

我能做些什么来让我的 sql 查询正常工作吗?我不介意等待 5 分钟来获取该数据,但我需要弄清楚如何获取它。

====================更新========================== =====
我能够通过克隆 90 mb 的表并用过滤后的原始表填充它来完成它。它最终约为 15mb,然后我只是选择了所有 3 个表,然后通过 ids 连接。所以现在请求在 1/10 秒内完成。

首先我做错了什么?我觉得有一种方法可以增加某些数据包的大小以使此类查询正常工作吗?关于我应该谷歌什么的任何建议?

仅供引用,我的选择查询如下所示

SELECT 
text_field1,
text_field2,
text_field3 ,..
text_field12
FROM
db.major_links,db.businesses, db.emails
where bool1=1
and bool2=1
and text_field is not null or text_field!=''
and db.businesses.major_id=major_links.id
and db.businesses.id=emails.biz_id;

所以我过滤的 bool1,2 和 textfield 是那个 90mb 表中的字段

最佳答案

我知道这可能有点晚,但我有一些建议。

首先查看 my.ini 文件中的 max_allowed_pa​​cket。这通常在 Windows 中找到:C:\ProgramData\MySQL\MySQL 服务器 5.6

这控制数据包大小,如果设置不正确,通常会导致大型查询出错。我的设置为100M

这里有一些文档供您引用:

Official documentation

此外,当 where 语句中有很多项目时,我的查询速度很慢,而这里有几个项目。确保您的 where 子句中的值具有索引和复合索引,尤其是与连接相关的值。

关于mysql - azure vm 上的自托管 mysql 服务器卡在选择数据库为 ~100mb 的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34938933/

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