|
Быстрое удаление
|
|||
---|---|---|---|
#18+
Приветствую знатоков и разработчиков! WI-V3.0.8.33535 Firebird 3.0 Понимаю, что совмещение DDL и DML в одной транзакции - зло. Но вот хочется по-быстрому почистить таблицу. Можно в одной транзакции деактивировать триггера, сделать delete from table и активировать обратно. Смысл в том, что если очистка где-то обломится, то триггера бы остались на месте и глюков потом не было. Или рискованная схема? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:46 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
ggreggory, так они у тебя только в этой транзакции этого коннекта и будут деактивированы. А в остальных коннектах - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:50 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
kdv ggreggory, так они у тебя только в этой транзакции этого коннекта и будут деактивированы. А в остальных коннектах - нет. Это логично. Даже не в остальных коннектах, а в других транзакциях этого коннекта. Но речь о задаче быстрой чистке базы данных (полностью или частично). Т.е. некоей служебной процедуре. Другие по логике не должны в таблицу что-то заносить пока мы её чистим. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:57 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
ggreggory, Задача надёжно решается, имхо, только через TRUNCATE. Но это, опять же, только в четверке. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:22 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
Во всех остальных версиях - RECREATE TABLE. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:59 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
ggreggory, это не рискованная схема, а штаны, надетые через голову. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:20 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
Gallemar ggreggory, это не рискованная схема, а штаны, надетые через голову. Хорошо, а альтернатива? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:44 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Во всех остальных версиях - RECREATE TABLE. А если есть зависимости? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:46 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
ggreggory Значит, обманули. Ничего необычного.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:50 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
ggreggory Gallemar ggreggory, это не рискованная схема, а штаны, надетые через голову. Хорошо, а альтернатива? А хз, я же не знаю сколько строк в таблице, что за триггер на ней, структура какая, как она используется. В похожей ситуации выгонял всех из базы, убирал алиас, деактивировал триггер, делал реконнект и удалял что надо с условием по времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:51 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
ggreggory Gallemar ggreggory, это не рискованная схема, а штаны, надетые через голову. Хорошо, а альтернатива? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 01:08 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
hvlad ggreggory Хорошо, а альтернатива? Ясно... ну ладно... Это и раньше юзали, на полуторке, только там UDF были, а тут встроенный rdb$get_context. Думал как-нибудь поинтереснее сделать.... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 01:22 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
ggreggoryА если есть зависимости? Значит чистить эту таблицу не нужно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 01:31 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
ggreggoryЭто и раньше юзали, на полуторке, только там UDF были ну конечно, на полуторке, и на суперсервере, потокобезопасные udf с указателями на глобальный кусок памяти. Генераторы использовали, а не udf. А контекстная переменная - в данном случае самое то. "Интереснее" - это уже будет изврат :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 02:53 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
ggreggory Gallemar ggreggory, это не рискованная схема, а штаны, надетые через голову. Хорошо, а альтернатива? Например, по старинке, проальтерить delete-триггера таблицы так, чтобы тело было обёрнуто в if current_user<>некий спецюзер, имеющий необходимые права на эту таблицу и что там эти триггера задевают (права проверяются всегда). И грохнуть там всё им. Собственно, чтоб не возиться с правами, нынче можно и контекстную переменную, а не юзера использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 03:39 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
hvlad ggreggory пропущено... Хорошо, а альтернатива? А это как? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 08:09 |
|
Быстрое удаление
|
|||
---|---|---|---|
#18+
ggreggory Gallemar ggreggory, это не рискованная схема, а штаны, надетые через голову. Хорошо, а альтернатива? Массово не удалять данные физически. Вместо этого, ограничить доступ к логически удаленным данным. Например, организовав доступ к "проблемной" табличке через view. А реальную "чистку" делать не спеша, когда время будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 11:33 |
|
|
start [/forum/topic.php?fid=40&msg=40117302&tid=1559873]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 245ms |
total: | 388ms |
0 / 0 |