Хозяйке на заметку
zinal
Если в крупной таблице необходимо обновить большое количество записей, легко "упереться" в ограничение на объём операций в рамках одной транзакции (в одном операторе). Для Oracle Database ограничивающим фактором оказывается предельный размер UNDO, для IBM Db2 - размер активной части журнала транзакций, и т.п. В любом случае, размер транзакции ограничен объёмом памяти, в которую записываются данные для отката этой транзакции.
Решение данного затруднения очевидно — нужно разбить крупную операцию на последовательность более мелких, с промежуточным подтверждением каждой транзакции. Требуется лишь понять, как ограничить размер единичной транзакции.
Проще всего опираться на количество изменённых записей. Современные СУБД позволяют ограничить количество изменяемых запросом записей. Также при выполнении запроса на изменение данных обычно можно, после завершения запроса, определить количество изменённых строк, либо, как минимум, факт отсутствия выполненных запросом изменений - это можно использовать как условие для остановки алгоритма.
Пример для Db2:

db2 -td@
BEGIN
  DECLARE SQLCODE INTEGER DEFAULT 0;
  DECLARE retcode INTEGER DEFAULT 1;
  WHILE (retcode > 0) DO
    UPDATE mytab SET date_oper=CAST('29.10.2012' as date)+ (300*RAND()) 
      WHERE date_oper IS NULL FETCH FIRST 100000 ROWS ONLY;
    SET retcode = SQLCODE;
    SET retcode = CASE WHEN retcode=100 THEN 0 ELSE 1 END;
    COMMIT;
  END WHILE;
END @
Tags: , ,

В цитатник
zinal

"Помощь техникой в борьбе с нечистой силой — это было мощно. По-военному". (C) Олег Дивов, "Саботажник"


Читал новости
zinal
За попытку совершения [Роскомнадзора] путем применения [Роскомнадзора] задержан [Роскомнадзор].

Всё-таки наши депутаты явно не туда направляют свою кипучую энергию. Жопа есть, а слова нет.

Глаз Сарумяна-строителя
zinal


Загадочное сооружение во дворе свежепостроенной школы. Вызывает ряд вопросов:
- что это такое?
- зачем оно?
- что курил архитектор?

Харизма в дверь не пролезает
default
zinal
( You are about to view content that may only be appropriate for adults. )

За что не любят либералов (c) sapojnik.livejournal.com
zinal
Очень правильный текст двухлетней давности. Но, блин, актуальный - и, видимо, навсегда.

Read more...Collapse )

(no subject)
benice
zinal
Утащил прекрасное с Кворы:


What would happen if an American aircraft carrier flew over Moscow? Could the Russians shoot it down?Collapse )

Сбор статистик в DB2
default
zinal
RUNSTATS ON TABLE SchemaName.TableName WITH DISTRIBUTION ON KEY COLUMNS AND SAMPLED DETAILED INDEXES ALL;




А еще вот кусок кода для отключения статистических профилей в базе, создаваемой 1С:
Read more...Collapse )
Tags: ,

Омерзительные люди из ДОМ.РУ / ЭР-Телеком
default
zinal
Было у меня в Твери кабельное телевидение от Дом.ру.
Вполне средненькое само по себе было телевидение, с качеством средней паршивости (в том числе обусловленным дрянным качеством ТВ-кабеля в моей квартире), но смотрибельное.

Что меня изумляло в Доме.ру, так это страсть к телефонным разговорам. Минимум раз в 2-3 месяца непременно звонила очередная барышня, жаждущая впарить мне интернет. Вежливый ответ "спасибо, мне не надо" их никогда не устраивал, каждый раз они пытались выспрашивать кто мой провайдер и почему же я не жажду его менять непременно на Дом.ру. Просьбы не звонить мне больше каждый раз якобы фиксировались, но притом упорно игнорировались.

Read more...Collapse )
Да чтоб к ним клиенты дорогу забыли, а Роскомнадзор регулярно с проверками заглядывал! Заодно здоровья там, хорошего настроения.

SHA-1 и другие хеш-функции в DB2
default
zinal
Как добавить в DB2 функцию для расчета хеш-кода по алгоритму SHA-1 (или любому другому поддерживаемому Java):

(а) Начиная с версии 11.1, алгоритмы MD5, SHA1, SHA2_256 и SHA2_512 доступны через встроенную функцию HASH(), которую можно обернуть в вызов встроенной функции HEX() для получения текстового значения.

Использование:
VALUES HEX(HASH('Вассисуалий Алибабаевич', 1));



(б) В более ранних версиях, либо для не поддерживаемых типов хеша, приходится использовать Java UDF.
Read more...Collapse )
Tags: ,

?

Log in

No account? Create an account