Если очень большая база - там иногда идет очень длительное сохранение всех данных на диск, иногда это может занимать добрые полчаса.
Вообще по своему опыту лучше никогда не перезагружать MySQL сервер на рабочем сайте (особенно если много мелких записей типа статистики), чревато падением сервера.
Поднятие тоже может длиться долго, пока сервер "прогреет" все индексы в оперативную память
Есть неплохой файлик для управления записями базы данных: https://www.adminer.org/
Но это нужно владеть навыками написания MySQL и понимать, что к чему.
Если вам нужно дружелюбнее интерфейс, чем этот - вам нужно заказывать программиста, который разработает подобную программу...
Думаю, да.
Сначала в конфиге MySQL установите:
general_log_file = /var/log/mysql/general.log
А затем перед нужным запросом попытайтесь включить: SET GLOBAL general_log = 'ON';, а после - SET GLOBAL general_log = 'OFF';
Скорее всего, в это время будут цепляться и другие, ненужные запросы, но так хотя бы размеров логов будет не таким большим
Я переносил сложнейшие проекты. Да, приходится иногда писать конвертаторы, да, иногда это может быть сложно.
Но на самом деле конвертаторы займут несколько часов, а вот грамотно перенести, чтобы пользователи не жаловались на то, что пропала какая-то нужная функция - намного сложнее...
like binary как раз и указывает на то, чтобы искать регистрозависимо.
А вообще, поиск там как раз не зависит от регистра, если стоит кодировка utf8_general_ci (ci - как раз значит case insensitive)
Обычно добавляют поле position, и уже делают ORDER BY `position`, а ID остается таким, каким есть. Добавляться все равно будет в конец таблицы, но сделал сортировку по полю - и все в порядке.
Конечно, есть некоторые расходы на то, что эти position нужно выставлять
Если вы не говорите о точечном изменении (то есть, о механизме транзакций), а разговор о "откатить в какое-то прошлое состояние базы в прошлом", то чаще всего ответ один: без полного бэкапа никак.
Вы вспомните, какая разработка была 20 лет назад. Да 20 лет назад люди об интернете не знали, только "избранные". Представьте, что будет через 20 лет? Волноваться о проблеме не стоит.
А если на сайте нужно ввести дату - используйте поле date в MySQL, оно поддерживает большой диапазон дат.
Нет, через array_merge хуже. Одно дело - один запрос но большой, или три разных запроса, но меньше.
То есть, во втором случае скрипт наоборот создаст еще больше нагрузки.
Хотя у вас есть определенные проблемы с архитектурой программы, если понадобился UNION.
Да, второй способ может помочь, но только при условии, что первый запрос будет кешироваться.
Так действительно будет быстрее, ведь выборка идет по первичному ключу без дополнительных условий, которые требуют перебора, а затем - сортировки и частичной выборки с помощью LIMIT/OFFSET
"Самоучитель PHP".
Также подойдет поучить разметку - Html, CSS, даже в первую очередь, если не знаете, что это.
А затем уж PHP, там обычно все объясняется.
Но не ждите быстрых результатов.