Архив

Публикации с меткой ‘SQL’

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`))

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

Hibernate: Удаление объектов из БД.

10 февраля 2010 Нет комментариев

По работе пришлось изучать работу Java’вского ORM’а, пока что знаком только бегло, но некоторые полезные штуки для новичка решил записать. Может кому пригодится, может нет, но хотя бы самому гуглить придётся меньше. Кстати, примеры будут не на Java, а на Jython’е, т.к. с первым я тоже не очень знаком.

Итак, опустим настройку и подключение Hibernate, предположим, что вы это уже сделали. Быть может, напишу об этом позже. Требуется удалить из таблицы player (которая маппится с классом Player, естественно… или наоборот) некоторые записи. Если мы знаем id игрока, тогда всё элементарно (как и в других случаях):

player = session.load(Player, player_id)
session.delete(player)

Теперь рассмотрим случай, когда надо удалить много записей. Читать далее...