gpt4 book ai didi

mysql - 查询在本地主机上运行良好,但在我们的服务器上非常慢

转载 作者:行者123 更新时间:2023-11-30 23:38:48 24 4
gpt4 key购买 nike

我们在每个表上测试了 100 万条记录,结果很好,始终低于 0,08。所以我们在我们的服务器上实现,但速度很慢,最多需要 36 秒。

我们之前寻求帮助来优化我们在测试机器上运行的查询,我们详细介绍了一对多关系的基本结构: Problems to optimize large query and tables structure

这是最后一个查询,我们在上面的链接上获得帮助后使用的查询:

explain SELECT    st.sid, st.title, st.summary, st.storynotes, st.thumb, st.completed, st.wordcount, st.rid, st.date, st.updated,    stats.total_reviews, stats.total_recommendations,    (SELECT GROUP_CONCAT(CAST(catid AS CHAR)) FROM fanfiction_stories_categories WHERE sid = st.sid) as categories,    (SELECT GROUP_CONCAT(CAST(genre_id AS CHAR)) FROM fanfiction_stories_genres WHERE sid = st.sid) as genres,    (SELECT GROUP_CONCAT(CAST(warning_id AS CHAR)) FROM fanfiction_stories_warnings WHERE sid = st.sid) as warnings    FROM    fanfiction_stories st    LEFT JOIN fanfiction_stories_stats stats ON st.sid = stats.sid    JOIN fanfiction_stories_categories cat ON st.sid = cat.sid AND cat.catid = 924    WHERE validated = 1    ORDER BY updated DESC    LIMIT 0, 15

这就是解释:

http://dl.dropbox.com/u/14508898/Printscreen/stackoverflow_explain_print_003.PNG

0 行受影响,找到 6 行。 1 次查询的持续时间:31,356 秒。

已更新
我们删除了 fanfiction_stories 中以前数据库结构的一些旧索引,并为 fanfiction_stories_categories 添加了新索引,现在速度快多了。这是更新的解释:

http://dl.dropbox.com/u/14508898/Printscreen/stackoverflow_explain_print_004.PNG

抱歉,我使用的程序只将解释表格式化为 HTML、CSV 等,不会生成要在此处显示的 ASCII 表。

我们可以进一步优化它吗?非常感谢任何帮助。

最佳答案

您好,您最好使用显式 INNER JOIN,而不是 JOIN,例如:

也可能是您正在执行的所有 GROUP_CONCAT,它们非常耗费内存。

SELECT
st.sid, st.title, st.summary, st.storynotes, st.thumb, st.completed, st.wordcount, st.rid, st.date, st.updated,
stats.total_reviews, stats.total_recommendations,
(SELECT GROUP_CONCAT(CAST(catid AS CHAR)) FROM fanfiction_stories_categories WHERE sid = st.sid) as categories,
(SELECT GROUP_CONCAT(CAST(genre_id AS CHAR)) FROM fanfiction_stories_genres WHERE sid = st.sid) as genres,
(SELECT GROUP_CONCAT(CAST(warning_id AS CHAR)) FROM fanfiction_stories_warnings WHERE sid = st.sid) as warnings
FROM
fanfiction_stories st
LEFT JOIN fanfiction_stories_stats stats ON st.sid = stats.sid
INNER JOIN fanfiction_stories_categories cat ON st.sid = cat.sid AND cat.catid = 924
WHERE validated = 1
ORDER BY updated DESC
LIMIT 0, 15

关于mysql - 查询在本地主机上运行良好,但在我们的服务器上非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5211426/

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