使用inner join 子查询时,排序字段失效(但是数据量大的时候有效)
原始sql:
SELECT
`order_no`,
`create_by`,
`create_by_name`,
`create_time`,
`process_end_time`,
`update_time`,
`id`,
`order_status`,
`process_definition_id`,
`process_node_id`
FROM
incident AS return_data
INNER JOIN (
SELECT
id AS id_column
FROM
incident
WHERE
1 = 1
AND `project_code` = "ITservice_P001"
ORDER BY
update_time DESC
LIMIT 555,
10
) AS ids ON return_data.id = ids.id_column
替换后的sql
SELECT
`order_no`,
`create_by`,
`create_by_name`,
`create_time`,
`process_end_time`,
`update_time`,
`id`,
`order_status`,
`process_definition_id`,
`process_node_id`
FROM
(
SELECT
id AS id_column
FROM
incident
WHERE
1 = 1
AND `project_code` = "ITservice_P001"
ORDER BY
update_time DESC
LIMIT 555,
10
) AS ids STRAIGHT_JOIN incident AS return_data ON return_data.id = ids.id_column