#
luxiaotao1123
2024-12-18 be460c5828a744197018c51a412ac12a172db659
#
3个文件已修改
1个文件已添加
52 ■■■■■ 已修改文件
version/db/sqlIndex 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-fake/src/main/resources/mapper/ActionMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/resources/application.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/resources/mapper/manager/ActionMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
version/db/sqlIndex
New file
@@ -0,0 +1,3 @@
CREATE INDEX idx_agv_action ON man_action(agv_id, action_sts);
CREATE INDEX idx_group_io_time ON man_action(group_id, io_time);
CREATE INDEX idx_priority ON man_action(priority);
zy-acs-fake/src/main/resources/mapper/ActionMapper.xml
@@ -98,24 +98,16 @@
    <select id="selectLatestOfGroup" resultType="com.zy.acs.fake.entity.Action">
        SELECT *
        FROM man_action
        WHERE 1=1
        AND agv_id = #{agvId}
        AND action_sts = #{actionSts}
        AND group_id IN (
            SELECT group_id
        FROM man_action a
        JOIN (
            SELECT group_id, MAX(io_time) AS max_io_time
            FROM man_action
            WHERE agv_id = #{agvId}
            AND action_sts = #{actionSts}
            WHERE agv_id = #{agvId} AND action_sts = #{actionSts}
            GROUP BY group_id
            HAVING MAX(io_time) = (
                SELECT MAX(io_time)
                FROM man_action
                WHERE agv_id = #{agvId}
                AND action_sts = #{actionSts}
            )
        )
        ORDER BY priority DESC
        ) b ON a.group_id = b.group_id AND a.io_time = b.max_io_time
        WHERE a.agv_id = #{agvId}
        AND a.action_sts = #{actionSts}
        ORDER BY a.priority DESC
    </select>
</mapper>
zy-acs-manager/src/main/resources/application.yml
@@ -35,6 +35,7 @@
        reset-enable: true
        login-username: admin
        login-password: admin
        enabled: true
  servlet:
    multipart:
      maxFileSize: 100MB
zy-acs-manager/src/main/resources/mapper/manager/ActionMapper.xml
@@ -98,24 +98,16 @@
    <select id="selectLatestOfGroup" resultType="com.zy.acs.manager.manager.entity.Action">
        SELECT *
        FROM man_action
        WHERE 1=1
        AND agv_id = #{agvId}
        AND action_sts = #{actionSts}
        AND group_id IN (
            SELECT group_id
        FROM man_action a
        JOIN (
            SELECT group_id, MAX(io_time) AS max_io_time
            FROM man_action
            WHERE agv_id = #{agvId}
            AND action_sts = #{actionSts}
            WHERE agv_id = #{agvId} AND action_sts = #{actionSts}
            GROUP BY group_id
            HAVING MAX(io_time) = (
                SELECT MAX(io_time)
                FROM man_action
                WHERE agv_id = #{agvId}
                AND action_sts = #{actionSts}
            )
        )
        ORDER BY priority DESC
        ) b ON a.group_id = b.group_id AND a.io_time = b.max_io_time
        WHERE a.agv_id = #{agvId}
        AND a.action_sts = #{actionSts}
        ORDER BY a.priority DESC
    </select>
</mapper>