Июн 15

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

mysql

mysql>use database <>;
mysql>source path/to/backup_file.sql;

Очень быстро и хорошо)

http://forums.mysql.com/read.php?104,145923,148081#msg-148081

Теги:
Май 29

Чтобы работать напрямую с 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

Теги:
Май 07

Вкратце: если в условии WHERE разные столбцы соединяются условием OR,  то лучше иметь отдельные индексы по этим полям, во всех остальных случаях нужно использовать многоколоночный индекс (данные по MySQL 5.2.4).

Подробнее.

Теги:
Янв 04

Установка MySQL:
Continue reading »

Теги:
Ноя 11

http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html
Не знал про COALESCE – функцию, которая возвращает первое ненулевое значение из переданных параметров.

Теги:
Окт 31

Перечислю основное.
Версия 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
Теги:
Окт 31

Top 1000 SQL Performance Tips
Continue reading »

Теги:
Окт 31

http://www.percona.tv/

Теги:
Окт 31

По этому адресу – список полезных инструментов для тюнинга mySQL:
http://dev.mysql.com/doc/refman/5.1/en/mysql-nutshell.html

Теги:
Окт 26

Ссылка на статью.
Для чего они нужны:
- чтобы проверить и предотвратить вставку некорректных данных
- чтобы изменить или отменить процедуры INSERT, UPDATE, DELETE
- чтобы отслеживать изменения данных внутри сесии.
Триггер – это фактически хранимая процедура, выполняющаяся при определённом событии, относящемся к определённым данным (хотя и с некоторыми нюансами).
Синтаксис:

CREATE TRIGGER <trigger name>
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON <table name>
FOR EACH ROW
<triggered SQL statement>

При этом доступны специфичные пространства имён OLD и NEW в зависимости от контекста (INSERT, UPDATE, DELETE)

CREATE TRIGGER t21_au
BEFORE UPDATE ON t22
FOR EACH ROW
BEGIN
SET @old = OLD . s1;
SET @new = NEW.s1;
END;//

Пример использования для предотвращения вставки некорректных данных

CREATE TABLE t25
(s1 INT, s2 CHAR(5),
PRIMARY KEY (s1))
ENGINE=INNODB//
CREATE TRIGGER t25_bi
BEFORE INSERT ON t25
FOR EACH ROW
IF LEFT(NEW.s2,1)<>'A' THEN SET NEW.s1=0; END IF;//
CREATE TRIGGER t25_bu
BEFORE UPDATE ON t25
FOR EACH ROW
IF LEFT(NEW.s2,1)<>'A' THEN SET NEW.s1=0; END IF;//

INSERT INTO t25 VALUES (0,'a') /* priming the pump */ //
INSERT INTO t25 VALUES (5,'b') /* gets error '23000' */ //
Теги:
preload preload preload