gpt4 book ai didi

mysql - 我可以降低 MySQL 速度以突出显示导致缓慢的查询吗?

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

我正在开发一个用 NodeJS 编写并连接到 MySQL 5.5 数据库的 API。在我们的实时系统上,我们有一个运行时间超过 7 秒的查询。我们已将此问题追溯到几个包含超过 500 万条记录且索引不正确的表。

在我们的开发区,我们没有那么多的记录。我想我已经确定了导致问​​题的查询,但是如果没有在我的笔记本电脑上放置 500 万条记录(这需要很长时间才能生成),我无法证明这一点。

是否有一种设置/技术可以用来模拟拥有数百万条数据库记录,而无需实际拥有这些记录?

最佳答案

您可以编写 Perl 或 Python 脚本来填充您的大型测试表。如果您将其作为单笔交易进行,则不会花费很长时间。

如果 MySQL 有 PostgreSQL 支持的 generate_series(),那么如果没有脚本,它会容易得多,但不幸的是,它没有:(。

但是,您仍然可以在 MySQL(或任何其他 SQL 数据库)中轻松创建大表,而无需编写脚本。主要思想是像这样使用 INSERT INTO ... SELECT:

CREATE TABLE mytable (
id INTEGER PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(16)
);
INSERT INTO mytable(name) VALUES ('Blah');
INSERT INTO mytable(name) SELECT name FROM mytable;
INSERT INTO mytable(name) SELECT name FROM mytable;
...

请注意,下一个 INSERT 双倍 表大小。

使用这种方法,这 SQLFiddle不到 5 秒的时间内使用大约 20 行 SQL 创建了 100 万 测试行。

关于mysql - 我可以降低 MySQL 速度以突出显示导致缓慢的查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15944236/

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