Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как лимитировать число удаляемых записей?
|
|||
|---|---|---|---|
|
#18+
Есть процедура purge старых записей. Их много-много, поэтому попытка просто прогнать Код: plaintext 1. приводит к росту лог-файла, блокировкам(?) и прочим неприятным вещам. Возникла задача удалять их порциями, по 100-200 записей за транзакцию -- этакий фоновый процессик. Проблема в том, что синтаксис типа Код: plaintext 1. 2. DB2 не поддерживает. Написать Код: plaintext 1. 2. 3. 4. можно, но требует большой работы (в purge существуют сотни скриптов, некоторые очень сложны, и перелопачивать их на предмет DELETE FROM SELECT очень не хочется -- долго и опасно). Идеально было бы найти способ взять существующий SQL-запрос как строку, и обернуть в что-то или дописать что-то в конце, что могло бы ограничить количество удаляемых записей. Есть ли какой-то способ, или придётся таки засучивать рукава? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2007, 23:02 |
|
||
|
как лимитировать число удаляемых записей?
|
|||
|---|---|---|---|
|
#18+
Можно конечно пронумеровать записи Код: plaintext 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 09:46 |
|
||
|
как лимитировать число удаляемых записей?
|
|||
|---|---|---|---|
|
#18+
Версия базы какая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 10:19 |
|
||
|
как лимитировать число удаляемых записей?
|
|||
|---|---|---|---|
|
#18+
user_aМожно конечно пронумеровать записи Код: plaintext 1. Код: plaintext 1. А можно полный пример запроса, простите за безграмотность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 18:47 |
|
||
|
как лимитировать число удаляемых записей?
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinВерсия базы какая? 8.х под AIX и Windows ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 18:48 |
|
||
|
как лимитировать число удаляемых записей?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 18:51 |
|
||
|
как лимитировать число удаляемых записей?
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein Код: plaintext 1. 2. 3. 4. 5. 6. А вы знаете, парни, это должно подойти. Вся заморочка с DELETE FROM SELECT была в том, что нужно было писать DELETE FROM FOO WHERE PK IN (SELECT PK FROM FOO WHERE ... ), а вот как раз имя PK везде разное, а кое-где его просто нет (угу). То есть простыми операциями над SQL как строкой получить валидный SQL для всех существующих скриптов затруднительно. А в SQL наверху, я так понимаю, можно просто взять существующий скрипт вида: Код: plaintext 1. заменить лидирующие DELETE FROM на DELETE FROM (SELECT ROWNUMBER() OVER() RN и добавить в конце Код: plaintext 1. похоже, должно сработать без модификации существующих скриптов. Будем пробовать, спасибо! P.S. Я так понимаю, ROWNUMBER() первичного ключа не требует, а просто присваивает порядковый номер согласно порядку следования в SELECT? Sweet... ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 15:31 |
|
||
|
как лимитировать число удаляемых записей?
|
|||
|---|---|---|---|
|
#18+
Vladimir DyuzhevP.S. Я так понимаю, ROWNUMBER() первичного ключа не требует, а просто присваивает порядковый номер согласно порядку следования в SELECT? Sweet... ;) OLAP functions - мощный инструмент. В данном, самом простом виде, rownumber работает как простой нумератор строк, начиная с 1. Порядок нумерации строк в данном случае не определен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 15:47 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=34548897&tid=1604562]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 392ms |

| 0 / 0 |
