Архив

Публикации с меткой ‘СУБД’

MySQL: Как проверить целостность внешних ключей в InnoDB.

Для ускорения вставки большого объёма данных в InnoDB одна из рекомендаций - отключить проверку целостности ключей. Более того, это ещё позволит и решить проблему с порядком вставки этих данных: если ваша сущность имеет ссылку на какую-либо другую сущность, которая ещё не была создана, то вы имеете все шансы словить ошибку foerign-key constraint'ов, выглядит это примерно так:

Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`foreign_key_0022`.`table`, CONSTRAINT `item_id` FOREIGN KEY (`item_id`) REFERENCES `child_table` (`item_id`))

Читать далее...

MySQL: Вывод select’а вертикально.

18 апреля 2013 Нет комментариев

Давненько не использовал консоль mysql'а для вывода результатов вертикально.

Читать далее...

Linux: Как ускорить вставку большого объёма данных в sqlite3?

К сожалению, мой первый и, пока, единственный SSD-диск сдох около месяца назад, а вот возможность где бы он мог проявить всю свою мощь появилась буквально только что. Мне предстояло импортировать достаточно большой объём JSON-данных в БД на sqlite3 через Django, а именно - надо было перенести около 150MB в эту БД (для sqlite3 это достаточно много, на мой взгляд). Код импорта я писал сам, поэтому его ещё предстояло отладить, писать тесты почти бесполезно, т.к. исходные данные были не идеальные и не всегда консистентные, ошибки исходных данных находились и обрабатывались индивидуально. Читать далее...

MySQL: создаём БД в правильной кодировке.

17 марта 2013 2 комментария

Изначально пост хотел озаглавить "о кроказябрах в сотый раз", но решил обойтись более официозной формулировкой, хотя, быть может, первый вариант более отражает суть, т.к. все эти вещи описаны уже много раз, но всё равно с ними периодически возникают проблемы. Читать далее...

Три вещи, которые вы никогда не должны хранить в БД.

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

Как я уже говорил на некоторых выступлениях, лучший путь улучшить вашу систему - это, в первую очередь, не делать глупых вещей. Я не имею ввиду что вы или ваши разработчики глупые, достаточно легко проглядеть последствия подобных решений и не осознать насколько они плохи для поддержки, не говоря уже о масштабировании. Работая в качестве консультанта, я постоянно встречаю подобные вещи и ещё ни разу не встречал чтобы они работали хорошо хотя бы для кого-нибудь. Читать далее...