За последние 24 часа нас посетили 9497 программистов и 684 робота. Сейчас ищут 256 программистов ...

Долго выполняется запрос

Тема в разделе "MySQL", создана пользователем justc, 4 янв 2019.

  1. justc

    justc Активный пользователь

    С нами с:
    27 сен 2015
    Сообщения:
    81
    Симпатии:
    0
    Наверное, я зря делаю запросы через phpmyadmin, но так уж привык.
    В таблице около 150 тыс. записей.

    Мне нужно часть скопировать в другую таблицу.
    Как-то так:
    Код (Text):
    1. CREATE TABLE news_dump2018 AS SELECT * FROM news WHERE date < 2016
    записей, похоже, много таких, может около 50 тыс.
    прикинул, это так можно 3-6 часов ждать...

    почему же так долго? из-за WHERE?
    может можно как-то иначе? сделать дубликат таблицы и удалить ненужное?
     
  2. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.406
    Симпатии:
    506
    Делай через терминал
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    9.105
    Симпатии:
    662
    Адрес:
    из России с любовью
    Не имеет значения откуда ты стартовал этот запрос, т.к. он выполняется на сервере MySql, а не в phpmyadmin или ещё где-то. По каментам здесь ты можешь судить об адекватности комментаторов ;)

    Меня смущает условие date < 2016. Какой тип у твоей колонки `date` и что ты хотел выразить этим условием: событие произошло до 1 января 2016г или что?
     
    miketomlin нравится это.
  4. Valick

    Valick Новичок

    С нами с:
    12 авг 2018
    Сообщения:
    731
    Симпатии:
    121
    @webtask, копировать всё, а потом удалять, не самое лучшее решение. ТС не предоставил подробной информации по своему вопросу (например структуру таблицы БД, я уж молчу про EXPLAIN) вот и нет для него нормального ответа. 3-6 часов это дичайшие цифры, за это время руками можно таблицу переписать.