За последние 24 часа нас посетили 20444 программиста и 1110 роботов. Сейчас ищут 403 программиста ...

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

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

  1. justc

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

    С нами с:
    27 сен 2015
    Сообщения:
    130
    Симпатии:
    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.400
    Симпатии:
    510
    Делай через терминал
     
  3. artoodetoo

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

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

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

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

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