|
|
1
1
创建以下复合索引:
为了上帝的缘故,发布查询计划。
顺便问一下,这是几行
更新: 您的表行很长。在您选择的所有字段上创建复合索引:
以便
|
|
|
2
3
一个连接看起来像这样:
为了帮助优化它,您应该运行explain select…在两个查询上。 |
|
|
3
1
可能有点快,但你需要测量并检查是否确实如此。 |
|
4
1
伯爵(*) 在InnoDB引擎下是一个非常昂贵的操作,您是否尝试过不使用该块查询?如果它导致了最多的处理时间,那么也许您可以保留一个正在运行的值,而不是每次都查询它。 |
|
|
5
1
我将从程序员的角度来处理这个问题;我将有一个单独的表(或某个存储区域),它存储了与原始查询中每个字段相关联的最大值、最小值和和和值,并在每次更新和添加表记录时更新这些值。(尽管如果处理不正确,删除可能有问题)。 在填充这些值的原始查询完成后(与您发布的查询几乎相同),您实际上是将最终查询减少到从数据表中获取一行,而不是同时计算所有内容。 |
|
|
Bard.Mus · 迁移后的数据库字符集环境 11 月前 |
|
|
tinkerr · 如何在2025年在MacOS上安装MySQL 5.7 11 月前 |
|
Efannnnnn · 将Id数据存储到任何页面 11 月前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |