Как сейчас устанавливаются уникальные коды операций


[ Пpишедшие ответы ] [ Отпpавьте свой ответ ] [ Пеpеговоpный пункт ] [ FAQ ]

Posted by Аркадий Водяник (213.130.27.72) on April 14, 2003 at 02:58:33:

In Reply to: какой процентик можно получить? posted by Борис, Киев. on April 14, 2003 at 01:36:28:

1) При старте (первом пересчете) сервер находит "самый большой" уникальный
код и записывает его в extrd.dat с индексом "--UKEY--" и во внутренний
счетчик в памяти. Только при первом пересчете делается сравнение кодов.

2) При последующих пересчетах сервер не сравнивает коды.

3) Удалениие операции не влияет на внутренний счетчик. При добавлении
новой операции сервер не ищет свободные коды, а просто наращивает счетчик
и формирует из него код.

4) При замене операции ее код не изменяется и счетчик не изменяется.

Так что источниками рассогласований между операциями и индексированной по
их кодам информации в extrd.dat могут быть:

a) пункт 4
b) перезагрузка сервера, если ей предшествовало удаление (a не ввод) операции.

А выигрыша по скорости не получим из-за 2,3.


:: Почему бы не индексировать данные в extrd.dat по сочетанию уникального кода
:: и даты/времени ([stamp 3] + [stamp 2])? Такие комбинации никогда не повторяются.

:А как же тогда чистить Extrd.dat от балласта? Наверное будет очень накладно без
:допущений стопроцентно почистить.

Поскольку чистка от балласта - нечастое мероприятие, то ведь несколько минут
на это можно потратить?

Другое дело, что в языке нет средств для перебора индексов extrd.dat, да и loadbin
на этом файле нежелателен. Поэтому - или внешняя утилита нужна - или дополнение
каждого [sed [stamp 3]+[stamp 2], ...] еще и какими-нибудь
[sed 'N',[ged 'N']+1]; [sed [ged 'N'], [stamp 3]+[stamp 2]] для самостоятельного
ведения списка индексов.


Пpишедшие ответы:



Отпpавьте свой ответ

Name:
E-Mail:

Subject:

Comments:
Link URL:
(можно не вводить)
Link Title:
(можно не вводить)
Image URL:
(можно не вводить)
ВАЖНО: Если отпpавленное сообщение не будет видно сpазу в
списке сообщений, нажмите клавишу Reload в browser'e.


[ Пpишедшие ответы ] [ Отпpавьте свой ответ ] [ Пеpеговоpный пункт ] [ FAQ ]