powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Выделение одной записи
25 сообщений из 52, страница 2 из 3
Выделение одной записи
    #37890290
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонЕсли можно работать с одной таблицей, не думая о том, где остались ключи.

А чего о них думать-то? Они работают совершенно самостоятельно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37890304
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
Уменьшение количества участвующих в транзакции таблиц имеет, конечно, некоторые плюсы - меньше надо предпринимать усилий для борьбы с дедлоками.
Другой вопрос, что это имхо соображение третьестепенной важности, и всерьез курочить архитектуру, опираяюсь на него - не самое разумное решение.
...
Рейтинг: 0 / 0
Выделение одной записи
    #37890336
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С другой стороны это плюс для целостности, если удалять пользователя.
...
Рейтинг: 0 / 0
Выделение одной записи
    #37890349
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинУменьшение количества участвующих в транзакции таблиц имеет, конечно, некоторые плюсы -
меньше надо предпринимать усилий для борьбы с дедлоками.

Это на каком сервере возникают дедлоки на referenced таблицах?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37890395
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 07/24/2012 01:20 PM, Кот Матроскин wrote:
> Уменьшение количества участвующих в транзакции таблиц имеет, конечно, некоторые
> плюсы - меньше надо предпринимать усилий для борьбы с дедлоками.



От сказанул так сказанул...

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37890539
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

Вы считаете что зависимость обратная? Или что ее нет совсем?


Dimitry Sibiryakov
Как Ваш вопрос связан с тем что я сказал?
...
Рейтинг: 0 / 0
Выделение одной записи
    #37890616
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинКак Ваш вопрос связан с тем что я сказал?

Ни в одном известном мне сервере дедлоки не зависят от количества задействованных таблиц.
Вот мне и стало интересно - что же за зверушку Вы используете.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37890673
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Если транзакция изменяет один и ровно один объект - она не может попасть в дедлок
(ну не считая глюков с блокировкой страниц индексов, которые относятся к неудачной технической реализации). А вот если она изменяет 2 обьекта - уже становится возможной ситуация, когда обьект А успели изменить и заблокировали, а обьект Б изменить не можем, потому что на нем висит блокировка другой транзакции, которая ждет наш обьект А.
...
Рейтинг: 0 / 0
Выделение одной записи
    #37890711
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскинесли она изменяет 2 обьекта - уже становится возможной ситуация
А, MS SQL... Ну так бы и сказал сразу, чего было партизанить...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37891261
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 07/24/2012 03:19 PM, Кот Матроскин wrote:
> MasterZiv,
>
> Вы считаете что зависимость обратная? Или что ее нет совсем?

Да, обратная. Или нет совсем. Скажем так, если грамотно написано
приложение, то нет совсем. Если не очень, то обратная.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37891264
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 07/24/2012 04:09 PM, Кот Матроскин wrote:

> Если транзакция изменяет один и ровно один объект - она не может попасть в дедлок
> (ну не считая глюков с блокировкой страниц индексов, которые относятся к
> неудачной технической реализации).

"ОБЪЕКТ" и "ТАБЛИЦА" как соотносятся по-твоему ?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37891853
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

в обсуждаемом случае "Обьект" и "таблица" соотносятся один к одному
Удаление картинки затронет и таблицу пользователей
Вы не стали читать обсуждение, а прочли только последнюю фразу? Бывает.
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892027
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> в обсуждаемом случае "Обьект" и "таблица" соотносятся один к одному

Нет, они никак не соотносятся. Под "объект" тут надо понимать то, на
что накладывается блокировка.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892107
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Под "объект" тут надо понимать то, на
что накладывается блокировка.



И в случае ссылки на картинку из таблицы пользователей при удалении картинки будет заблокировано два обьекта в двух таблицах, а в случае дополнительного поля в таблице картинок - один обьект в одной таблице.
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892161
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинИ в случае ссылки на картинку из таблицы пользователей при удалении картинки будет
заблокировано два обьекта в двух таблицах

Не будет. С чего бы им блокироваться?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892258
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Возьмите блокировочный сервер, откройте транзакцию, измените в ней запись в одной таблице и удалите запись в другой и, не закрывая транзакцию, посмотрите, блокирует ли она что-либо.
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892322
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинВозьмите блокировочный сервер, откройте транзакцию, измените в ней запись в одной таблице
и удалите запись в другой и, не закрывая транзакцию, посмотрите, блокирует ли она что-либо.

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

Есть таблица пользователей, есть таблица картинок. Одна ссылается на другую и наоборот.
Зачем запись таблицы пользователей будет блокироваться при удалении записи из таблицы
картинок? Какая блокировка будет накладываться? Это так, вопросы на засыпку...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892412
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovВо-первых, где ж я его возьму, блокировочник этот? Нынче они практически вымерший вид.

Вы хотите обсуждать проблему дедлоков на примере неблокировочных серверов? Толково.

Dimitry Sibiryakov
Во-вторых, ты ранее говорил не о конфликте операций над одной записью, а о блокировке
записи о пользователе, над которой вообще никаких операций не производится. Не надо
мутировать мыслью по древу.

??? На таблицах "Картинка" и "Пользователь" отношение master-detail.
При удалении master-записи над detail, по-Вашему, точно не надо производить никаких операций?
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892453
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинВы хотите обсуждать проблему дедлоков на примере неблокировочных серверов? Толково.

А почему нет? Там они существуют тоже.

Кот Матроскин??? На таблицах "Картинка" и "Пользователь" отношение master-detail.
При удалении master-записи над detail, по-Вашему, точно не надо производить никаких операций?

Точно не надо. Достаточно проверить существование detail-записей и удаление мастера -
обломить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892689
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Возьмите блокировочный сервер, откройте транзакцию, измените в ней запись в
> одной таблице и удалите запись в другой и, не закрывая транзакцию, посмотрите,
> блокирует ли она что-либо.

Для этого не обязательно блокировочный сервер брать. Так любой должен
действовать (кроме может быть InterBase).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892692
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 07/25/2012 05:03 PM, Dimitry Sibiryakov wrote:

Вам не кажется, что вы слегка уклонились от предмета разговора ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892727
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivВам не кажется, что вы слегка уклонились от предмета разговора ?

Мне кажется, что у этого разговора вообще нет предмета.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892771
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТочно не надо. Достаточно проверить существование detail-записей и удаление мастера -
обломить.

Это, вообще говоря, зависит от бизнес-логики.

Хотя, должен признать, я кажется действительно выразился несколько двусмысленно - надо было сказать не "... зависит от числа участвующих в транзакции таблиц", а "...зависит от числа изменяемых в транзакции таблиц"
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892783
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинЭто, вообще говоря, зависит от бизнес-логики.

Хооо... А я-то всегда думал, что от опции on delete у ключа...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выделение одной записи
    #37892806
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovКот МатроскинЭто, вообще говоря, зависит от бизнес-логики.

Хооо... А я-то всегда думал, что от опции on delete у ключа...

Вряд ли Вы так думали всегда - еще пост назад Вы рассказывали, что надо "обламывать удаление мастера" при наличии detail-а без вариантов.

Вообще от Вас какие-то странные реплики исходят в этой дискуссии - то вы говорите "Не знаю сервера, который бы так себя вел", то "Я так и знал - MSSQL". То "Обламывать удаление мастера при наличии detail'а " , то "зависит от опции у ключа".
Вы можете определиться, с чем вы спорите/что доказываете?
...
Рейтинг: 0 / 0
25 сообщений из 52, страница 2 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Выделение одной записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]