MYSQL перемещение информации с php - PullRequest
1 голос
/ 08 января 2010

Мне интересно, можно ли автоматизировать или нажатием кнопки переместить информацию таблицы mysql из одной таблицы в другую, удалив ее из первой таблицы и поместив в другую таблицу? Используя php.

Моя таблица mysql большая, и на странице, которая добавляет информацию в эту таблицу, есть 70 запросов, что замедляет время обновления страницы. Мне нужно перемещать информацию из первой таблицы во вторую в определенное время дня каждый день, чтобы этим запросам не приходилось просматривать всю мою гигантскую таблицу строк в 27 тысяч.

Возможно ли это?

Также, если бы кто-то мог помочь мне с моим комментарием на этой странице, я был бы благодарен. текст ссылки

Ответы [ 4 ]

1 голос
/ 08 января 2010

Мне интересно, можно ли автоматизировать или нажатием кнопки перенести информацию таблицы mysql из одной таблицы в другую, удалив ее из первой таблицы и поместив в другую таблицу? Использование php.

Вы можете инициировать это из PHP, но то, что вы спрашиваете, фактически является доменом MySQL.

Это может быть выполнено в двух утверждениях:

  1. Используйте оператор INSERT INTO , чтобы скопировать строки из старой таблицы в новую
  2. Удалить старую таблицу

Я бы предпочел, чтобы это происходило в хранимой процедуре ради транзакции и для простоты выполнения (если вы хотите, чтобы она была инициирована CRON / и т. Д.), Потому что было бы проще вызвать одну вещь против пары или более.

1 голос
/ 08 января 2010

Таблица строк 27 КБ мала по стандартам SQL, если она правильно проиндексирована.

Например, если вам не нужны данные со вчерашнего дня, вы можете добавить индексированный столбец даты и фильтр с помощью WHERE myDate > NOW() - INTERVAL 1 DAY, и SQL автоматически ограничит запрос строками младше 24 часов.

1 голос
/ 08 января 2010

В PHP нет постоянно работающего сервера, с помощью которого можно планировать фоновые задачи.

Если у вас есть доступ к серверу, вы можете настроить задание cron (или запланированное задание под окнами) для запуска сценария PHP для вас.

Или (и это не очень хорошо) вы можете поместить скрипт на веб-сервер и вызвать его вручную в соответствующее время, введя URL-адрес в браузере.

0 голосов
/ 08 января 2010

27k - не очень большая таблица, и MySQL должен нормально с ней работать. У вас есть все необходимые индексы? Вы использовали EXPLAIN в своих медленных запросах? Что касается вопроса о перемещении данных из одной таблицы в другую - создайте скрипт php, который будет запускаться CRON и будет перемещать строки по одной. В чем здесь проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...