Ошибка в базе данных: не дает редактировать, копировать и удалять таблицу | pHp для чайников

Опубликовано: 29.06.2017

видео Ошибка в базе данных: не дает редактировать, копировать и удалять таблицу | pHp для чайников

Как удалить и восстановить базу данных

При оптимизации 1-го проекта встала задачка уменьшить количество запросов к базе MySQL. Меню каталога продуктов строилось рекурсивной функцией, которая каждый собственный проход делала 2 запроса в базу (для генерации одной странички, лишь на отображение категорий продуктов интернет-магазина было около 110 запросов!!!) Забегая на перед (это отдельная тема для статей, связанных с глобальной оптимизацией проектов) скажем, что после оптимизации, клиенту не пришлось брать супер-пупер сервер (как гласили спецы хостинговой компании), а даже перейти на более дешевенький тарифный план. При всем этом скорость загрузки веб-сайта осязаемо возросла.

После исследования фронтенд части веб-сайта – вывод навязывался сам за себя – ПЕРЕПИСАТЬ ВСЕ С НУЛЯ! Но заказчика это не устроило :( По этому пришлось проводить точечную оптимизацию раздельно взятых кусков кода и запросов. Сначало было проанализировано самые узенькие места, которые тормозили веб-сайт посильнее других. Одним из таких мест были сотки запросов на удаление записей из различных таблиц.


Ошибка в базе данных: не дает редактировать, копировать и удалять таблицу | pHp для чайников

Т.к. на веб-сайте происходило общее удаление/добавление записей – мы решили свести количество запросов на удаление к минимуму.

Мы решили не удалять записи в течении прайм-тайм работы веб-сайта вообщем, а только скрывать эти строчки у юзера (а позже, когда наступает время “сонного пользователя” – делать всю работу). Но этот шаг не отдал хотимого результата. Скорость работы веб-сайта возросла, но нагрузка не сократилась. Вариант с триггерами, особенного прироста тоже не отдал.

Тогда мы попробовали соединить удаление записей цельные запросы – это отдало осязаемый итог!

Допустим у нас есть таблица, запись которой связывается еще с порядком 12 таблиц по ключу. Задачка: удалить связанные строчки из всех таблиц.
Разглядим небольшой пример удаления одним запросом одной записи из 2-ух таблиц:

rss