MySQL

Как изменить кодировку базы MySQL из Win-1251 в UTF-8?

Суббота, 12 ноября 2016 г.
Рубрика: Web-мастеринг
Метки:
Просмотров: 1317
Подписаться на комментарии по RSS

Попросили тут перенести сайт на другой хостинг, а он, как оказалось, до сих пор жил в кодировке cp1251. Вроде ничего страшного - работает, но уж больно по колхозному это в наше время и давно пора перейти на UTF-8.

Перед любыми действиями с базой данных ОБЯЗАТЕЛЬНО СОЗДАЕМ РЕЗЕРВНУЮ КОПИЮ!

Самый быстрый и простой способ - пересохранить копию базу данных в любом текстовом редакторе (sublime text, notepad++) в нужной кодировке и импортировать на место старой. Можно проделать данную операцию используя SQL-запросы в phpMyAdmin.

ALTER DATABASE имя_вашей_базы_данных charset=utf8;

Данный запрос конвертирует базу в указанную кодировку. Кроме этого потребуется конвертировать и сами таблицы. Запрос для конвертации таблицы базы данных:

ALTER TABLE `db_name`.`table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Конвертировать каждую из таблиц по отдельности подобным образом то ещё удовольствие, особенно при большом количестве. Однако можно не мучить себя подобным занятием, а создать последовательность команд посредством одного запроса:

SELECT CONCAT(  'ALTER TABLE `', t.`TABLE_SCHEMA` ,  '`.`', t.`TABLE_NAME` ,  '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;' ) AS sqlcode
FROM  `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` =  'My_DB_for_convert'
ORDER BY 1
LIMIT 0 , 90

Остается только скопировать результаты и вставить их в форму нового SQL запроса.

Ускоряем сайт. Логирование медленных запросов MySQL

Вторник, 19 марта 2013 г.
Рубрика: Web-мастеринг
Метки: |
Просмотров: 14466
Подписаться на комментарии по RSS

Зиму перезимовали, осталось перезимовать весну... Не смотря на совсем не весеннюю погоду, в плане работы март выдался очень жарким. В данное время занимаюсь оптимизацией работы сразу двух сайтов.

Один из них, использует коммерческий движок Bitrix, где работа сводится к полной переделке шаблона сайта (разработчикам стоило бы для начала ознакомиться с документацией по Bitrix, прежде чем клепать сайт), а также чистке web-страниц от мусора, которым их щедро наделил WISIWIG редактор, этого самого битрикса.

Движок второго сайта самописный, и создавался явно какими-то двоечниками. При работе сайта складывалось впечатление, что ему либо приходится ворочать мегатонны информации, любо у хостера вместо серверов стоят калькуляторы.

Так что продолжим тему оптимизации, начатую в статье Как посчитать время выполнения скрипта и количество запросов к MySQL.

читать полностью →

Есть у меня один хороший знакомый и у него есть сайт. Время от времени помогаю ему в исправлении разных недоделок на этом ресурсе. Движок там самописный, причем писался такими руками, о прямоте которых я скромно умолчу.

Все было более-менее спокойно до той поры, пока посещаемость сайта была совсем низкой. И вот сайт начал оживать, приближаясь к первой тысяче уников в день… Однако радость была не долгой - движок сайта начал конкретно тупить. Хостер грозит пальцем за чрезмерную нагрузку на MySQL и требует перевести его на выделенный сервер. Я конечно предупреждал своего товарища, что код движка ужасен, и вот решил показать масштабы бедствия наглядно.

Как выяснилось, на формирование некоторых страничек уходило (!) более 450 запросов к базе данных. И это с учетом того, что никакого кеширования в движке нет в принципе. Я не считаю себя программистом, но даже мне ясно, что это явный перебор.

читать полностью →