Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Привет всем. Давно уже мучаюсь с такои проблемой - FB 2.5 CS с работающими юзерами. Есть таблица А и таблица Б. Не выгоняя юзеров надо в таблице Б поставить Foreign Key на таблицу А и тут получается какой то deadlock, вроде, а то таблица А как бы залокировается и не один юзер уже не может туда ничего добавить и сам Foreign Key тоже неставится, какбы друг на друга ждут и всё ... копец :( Ето вроде как бы логично если в таблице Б были какие то записи, но она ПУСТАЯ ... Кто в курсе - в троике что-что такое исправлялось ? WBR Janex ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 11:14 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Janex, wait в транзакции указывал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 11:19 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
JanexНе выгоняя юзеров надо в таблице Б поставить Foreign Key на таблицу А Может лучше это все описать фактами? DDL таблиц и запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 11:42 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
JanexДавно уже мучаюсь с такои проблемой - FB 2.5 CS с работающими юзерами.Это задокументированное поведение. менять метаданные надо монопольно. pastorwait в транзакции указывал?Для ПК не поможет. Для хранимок, да, помогает грубо вкорячить, что само по себе не очень хорошо и может привести к веселым артефактам из-за кэширования метаданных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 11:45 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
pastorJanex, wait в транзакции указывал? Стоит в експерте по дефаулту: isc_tpb_read_committed isc_tpb_rec_version isc_tpb_nowait Имееш в виду убрать isc_tpb_nowait или что ? pastorIvan_Pisarevsky , Это задокументированное поведение. менять метаданные надо монопольно. Понемаю, что так правильнее, но если таблица, в каторои ставится FK на другую, пустая и некто с неи неработает (сам только что создал) то такие блокировки как бы неадекватны и очень сильно мешает ставить мелкие обновления :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 11:59 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Когда-то давно, когда FB ещё не было и в планах, кто-то где-то решил, что создавать FK можно только в единственном монопольном эксклюзивном коннекте. И так оно и было, можете проверить IB6\FB1. При этом, этот кто-то не озаботился целостностью обычного (не-FK) индекса, и в результате было возможно построить индекс без учета ключей, вставленных в таблицу во время построения индекса. Потом появился FB, и мы увидели, что не нужно для создания FK эксклюзивного подключения - достаточно блокировать обе таблицы на чтение. Как, впрочем и для построения любого индекса - достаточно блокировать таблицу от изменений. Это было реализовано в FB 2.0, IIRC, и с тех пор все успели забыть про требование эксклюзивного коннекта для построения FK. Теперь к конкретике. FB блокирует таблицу от изменений перед началом построения индекса. Такая блокировка будет возможна только когда завершатся все тр-ции, в которых таблица изменялись. Время ожидания блокировки есть лок-таймаут тр-ции, в корой выполняется DDL. В случае индекса для FK блокируются две таблицы. Если блокировка (блокировки) взяты успешно, то теперь уже остальные тр-ции, которые хотят сделать insert\update\delete, будут ждать окончания построения индекса (FK). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:07 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
JanexИмееш в виду убрать isc_tpb_nowait или что ?заменить на isc_tpb_wait JanexПонемаю, что так правильнееСам же понимаешь, и тем не менее хочешь запретного. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:08 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Janexесли таблица, в каторои ставится FK на другую, пустая и некто с неи неработает (сам только что создал)То никаких проблем с ней не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:08 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevskyменять метаданные надо монопольно.Не все и не всегда - не сгущай краски ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:08 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
hvladТакая блокировка будет возможна только когда завершатся все тр-ции, в которых таблица изменялись.Если база в работе, то обеспечить такое на практике можно тотальным дисконнектом всех клиентов которые цепляют эту таблицу, что от монопольного коннекта не очень и далеко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:11 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
hvladНе все и не всегда - не сгущай краскиЯ просто о том пути, который даст гарантированно правильный и ожидаемый результат. Но как всегда все мы грешны, и я тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:13 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
hvladJanexесли таблица, в каторои ставится FK на другую, пустая и некто с неи неработает (сам только что создал)То никаких проблем с ней не будет. Ну да, и нету проблем, но проблема что блокируется таблица НА КОТОРУЮ указывает FK, и тут вопрос - какого хрена если таблица В КОТОРОЙ ставится FK пустая и некто с неи неработает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:21 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Janexтут вопрос - какого хрена hvladВ случае индекса для FK блокируются две таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:23 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
hvladВ случае индекса для FK блокируются две таблицы. Ну ето понятно, и 100% правильно если с обоями таблицами ктото работает. Но согласитесь что правильнее было бы так: Блокируется таблицу В которои ставится FK и если она пустая, то вторая таблица НЕблокируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:37 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyhvladТакая блокировка будет возможна только когда завершатся все тр-ции, в которых таблица изменялись.Если база в работе, то обеспечить такое на практике можно тотальным дисконнектом всех клиентов которые цепляют эту таблицу, что от монопольного коннекта не очень и далеко.Прости, но глупость говоришь. Если тр-ции в клиенте бесконечные - то, да, DDL будет ждать бесконечно. Иначе - нужный момент обязательно наступит. Ибо блокировки берутся в порядке очереди, а не как попало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:40 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Janex, нет проблем с блокировкой пустой таблицы. Прочитай ещё раз то, что я написал выше. Обрати внимание не только на знаки препинания, но и на такие слова как "блокировать на чтение ", "блокировка от изменения ". Я верю, у тебя получится :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:42 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
hvladJanex, нет проблем с блокировкой пустой таблицы. Прочитай ещё раз то, что я написал выше. Обрати внимание не только на знаки препинания, но и на такие слова как "блокировать на чтение ", "блокировка от изменения ". Я верю, у тебя получится :) Я понимаю, но с таблицей интенсивно работают куча людей и трансакции длится до пара минут и не даи Бог кто то забыл нажать кнопку Commit и пошел покурить ... Ожидание на завершение трансакции может затянутся и когда кто то попробует внести изменения и не получится, то сразу будет звонки и ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:53 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
hvladПрости, но глупость говоришь.Не глупость, а предположение пессимистического сценария, что впрочем парой постов ниже подтвердилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 12:55 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Janex, переделывай так чтобы транзакции били короткими ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 14:02 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисJanex, переделывай так чтобы транзакции били короткими Ето невозможно ... Я в принципе искал поддержку идеи что не надо блокировать таблицу если на нее делают FK из пустои таблицы, типо: "Да, Janex, идея хорошая, надо ввести в трекер" :) Я бы мог ето ввести в трекер, но толку если ето мне одному интересно :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 14:27 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Janexкто то забыл нажать кнопку CommitЯ плакалъ. Ты же не первый год на форуме - ну как можно так писать программы ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 14:34 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
JanexЯ в принципе искал поддержку идеи что не надо блокировать таблицу если на нее делают FK из пустои таблицыАргументы где ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 14:36 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyhvladПрости, но глупость говоришь.Не глупость, а предположение пессимистического сценария, что впрочем парой постов ниже подтвердилось.Глупость, подтверждённая другой глупостью... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 14:36 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
Janex, да вноси ты в трекер что угодно. Только не надейся, что это сделают в ближайшее время и даже в 3.0. В принципе в MSSQL есть какая-то фишка с создание индекса онлайн. Только обходится оно не дешёво в плане ресурсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 14:43 |
|
||
|
Недостатки в FB 2.5
|
|||
|---|---|---|---|
|
#18+
hvladJanexкто то забыл нажать кнопку CommitЯ плакалъ. Ты же не первый год на форуме - ну как можно так писать программы ??? Абсолютно невижу ничего неправильного. Ето дело вкуса или могут бить и другие причины по которым ето или правильно или удобно. У меня юзеры, в большинстве, женьшини в возрасте, которые не совсем дружит с компютерами, и ето удобно, если могут отменить свои деиствия если чёто напутали. Можно конешно и по другому, но етот вариант для меня более удобный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 15:35 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38949529&tid=1562873]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 295ms |

| 0 / 0 |
