- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Имеется табличка MySQL InnoDB на 2.500.000 записей.
Тупо добавление нового поля VarChar 96 chars занимает минут 5—10, а в половине случаев PhpMyAdmin и SQLyog попросту зависают в процессе.
Вопрос: это нормальные скорости или мож чего не так делаю? Вроде бы ошибиться негде, но с такими размерами раньше не работал, может, есть особенности какие...
Вы бы структуру таблицы привели, индексы в общем - дайте больше информации. Запрос тоже нужен, какие добавляете.
Это очень ресурсоёмкая операция. Поэтому нормально, особенно на обычном HDD.
Лучше делать копию БД, делать там это и потом подменять быстро.
А последнее время почти постоянно по 504 Gateway timeout вылет...
А последнее время почти постоянно по 504 Gateway timeout вылет...
Пусть вылетает, это nginx вылетает, операция должна выполняться уже самим mysql
Asar,
Часто надо добавлять?
Для понимания происходящего, вот что происходит при добавлении поля
1) Создается новая таблица с той же структурой (включая индексы)
2) В нее копируются старые данные (и соответственно в новой таблице выстраиваются индексы)
Т.е. по сути это копирование с одновременным индексированием всех 2.5млн записей, быстрым это быть не может.
Нередко можно ускорить, если рукотворить процесс. Создать таблицу самому, индексы не ставить, скопировать данные, запустить индексацию.
При этом данные опять же можно не копировать запросом, а тупо скопировать файл таблицы (остановив БД или через mysqlhotcopy) - правда это для innodb не вариант.
В случае innodb можно временно отключить резервную запись всяких логов и транзакций, т.к. вся эта операция копирования еще и бинари логи падает.
Тупо добавление нового поля VarChar 96 chars занимает минут 5—10, а в половине случаев PhpMyAdmin и SQLyog попросту зависают в процессе.
Новые поля вроде обычно не часто добавляются в базу, особенно скриптами, в приницпе время нормальное для 2,5М записей, завист еще от мощности сервера и как правильно сказали hdd или ssd дисков.