Я должен зарегистрироваться в tbl2
все строки из tbl1
с последним доступом date
для того же nickname
.
Моя база данных - MySQL 5.5.62-версия журнала .
Я пробовал это Stored Procedure
.
Нет ошибок, но вставка на tbl2
очень длинная.
Есть предложения по оптимизации этого SP?
BEGIN
DECLARE var INT;
SET var = 0;
WHILE var < 1 DO
INSERT IGNORE INTO `tbl2` (
`NickName`,
`Continent`,
`Region`,
`AccessLastDate`
) SELECT
`NickName`,
`Continent`,
`Region`,
`AccessLastDate`
FROM
`tbl1` t1
WHERE
Continent IN ('Asia','Oceania','Africa')
AND
t1.`AccessLastDate` = (
SELECT
MAX(t2.`AccessLastDate`)
FROM
`tbl1` t2
WHERE
t2.`NickName` = t1.`NickName`
)
ORDER BY
t1.`AccessLastDate`;
SET var = var + 1;
END
WHILE;