У меня есть 100000 строк в table1, и я хочу, чтобы создать таблица2 с одинаковыми данными (они оба имеют одинаковую структуру), так что я сделалПочему «INSERT INTO SELECT» медленнее, чем просто вставки?
INSERT INTO table2 SELECT * FROM table1
и она занимает около 15 секунд.
Если в PHP я
while (SELECT * FROM table1){
INSERT INTO table2...
}
это занимает 10 секунд. Почему вставить в select будет медленнее?
Вы проверили проверку 1 раз или несколько раз? Среднее значение или «вставить в выбор» всегда медленнее? – Dekel
В запросе MySQL 'SELECT' используется избыточное количество ресурсов по сравнению с' INSERT'. В первом запросе вы выполняете 100 000 запросов 'SELECT', тогда как внутри PHP вы выполняете только 1. – icecub
Проведите каждый тест дважды; давайте посмотрим оба таймингов. Кэширование _may_ объясните это. –