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

Допустим мы создали таблицу

Тогда при попытке удалить таблицу (или хотя бы ключ) получим сообщение

Чтобы удалить таблицу, нужно сначала удалить CONSTRAINT, потом индекс, а только потом таблицу. Сначала узнаем название CONSTRAINTа:

Берём название Equipment_ibfk_1 и далее:

Потом можно восстановить

А на будущее лучше пользоваться более полным синтаксисом создания внешних …

Read more

MySQL. Восстановление из бэкапа

Понадобилось восстановить бэкап mysql размером примерно в гигабайт. Всякие phpMyAdmin даже сжатый файл кушать отакзываются — ограничение по размеру, а доступа к настройкам нет. Нашёл хороший способ — в командной строке

Очень быстро и хорошо) 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