Tag Archives: mysql
Почему не надо использовать партицирование в MySQL
Коротко — потому что это всё сыро и глючно. Подробнее — http://habrahabr.ru/post/130999/
Решение проблемы PhpStorm «Value ‘0000-00-00 00:00:00’ can not be represented as java.sql.Timestamp»
Это проблема не PhpStorm, а драйвера JDBC. Для решения нужно обновить строку доступа к базе mySQL с jdbc:mysql://[ip]:3306 на jdbc:mysql://[ip]:3306?zeroDateTimeBehavior=convertToNull Ещё способы: http://stackoverflow.com/questions/782823/handling-datetime-values-0000-00-00-000000-in-jdbc
MySQL DUPLICATE KEY UPDATE
Забавно получилось: давно написал, как сделать ON DUPLICATE KEY UPDATE для SQL Server и ON DUPLICATE KEY UPDATE для PostgreSQL, а «оригинал» не описал.
Удаление таблицы с FOREIGN KEY в MySQL
Допустим мы создали таблицу CREATE TABLE IF NOT EXISTS `Inventory`.`Equipment` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `category_id` INT(10) UNSIGNED NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`category_id`) REFERENCES EquipmentCategory(`id`) ON DELETE RESTRICT ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Тогда при попытке удалить таблицу (или хотя бы ключ) получим сообщение DROP TABLE IF EXISTS `Inventory`.`Equipment`; — [HY000][152] …
MySQL. Восстановление из бэкапа
Понадобилось восстановить бэкап mysql размером примерно в гигабайт. Всякие phpMyAdmin даже сжатый файл кушать отакзываются — ограничение по размеру, а доступа к настройкам нет. Нашёл хороший способ — в командной строке mysql mysql>use database <>; mysql>source path/to/backup_file.sql; Очень быстро и хорошо) http://forums.mysql.com/read.php?104,145923,148081#msg-148081
PhpStorm DB Navigator
Чтобы работать напрямую с MySQL-базой из PhpStorm: Установить плагин Database Navigator (перезапустить IDE — появится пункт DB Navigator). Скачать jdbc-драйвер (http://www.mysql.com/downloads/connector/j/) DB Navigator → Settings → add connection: driver library — …mysql-connector-java-5.1.16-bin.jar url — jdbc:mysql://127.0.0.1:3306 user — root
MySQL: что быстрее, многоколоночный индекс или пересечение индексов (index merge)
Вкратце: если в условии WHERE разные столбцы соединяются условием OR, то лучше иметь отдельные индексы по этим полям, во всех остальных случаях нужно использовать многоколоночный индекс (данные по MySQL 5.2.4). Подробнее.
Установка MySQL, PHP и PHP-FPM под Debian linux
Установка MySQL:
Функции сравнения в mySql
http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html Не знал про COALESCE — функцию, которая возвращает первое ненулевое значение из переданных параметров.
Развитие MySQL: что нового в новых версиях
Перечислю основное. Версия 5.0 (http://dev.mysql.com/doc/refman/5.0/en/mysql-nutshell.html): Курсоры Хранимые функции Триггеры VIEW INFORMATION_SCHEMA (база о базах данных сервера) Тип данных VARCHAR Версия 5.1 (http://dev.mysql.com/doc/refman/5.1/en/mysql-nutshell.html): Оптимизация оптимизатора (особенно GROUP BY) InnoDB plugin Partitioning Row based replication Версия 5.4 (http://dev.mysql.com/doc/refman/5.4/en/mysql-nutshell.html): Улучшена масштабируемость Изменение подсистемы ввода-вывода InnoDB