|
|
|
asa9: повторные значения autoincrement
|
|||
|---|---|---|---|
|
#18+
Возможно что это уже было, но не нашел. Если делать вставку в таблицу с autoincrement PK и откатывать их, например Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Это стандартное поведение ? В документации не нашел. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 14:55 |
|
||
|
asa9: повторные значения autoincrement
|
|||
|---|---|---|---|
|
#18+
Марсель пишет: > и жестко остановить сервак, то при следующем запуске сервака, значения > будут выдаваться повторно 1, 2, ... > Это стандартное поведение ? Вообще-то нет, но после жёсткой остановки (понимая под этим что-то вроде нажатия на Reset) м.б. всё, что угодно, вплоть до полной порчи базы. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 15:04 |
|
||
|
asa9: повторные значения autoincrement
|
|||
|---|---|---|---|
|
#18+
Dim2000 > Это стандартное поведение ? Вообще-то нет, но после жёсткой остановки (понимая под этим что-то вроде нажатия на Reset) м.б. всё, что угодно, вплоть до полной порчи базы. +1 Меня тоже словосочетание "жесткая остановка" как то пугает честно говоря :) Марсель, а у Вас там сервер ASA случайно не запускается с ключиком -u ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 09:57 |
|
||
|
asa9: повторные значения autoincrement
|
|||
|---|---|---|---|
|
#18+
Dim2000 Вообще-то нет, но после жёсткой остановки (понимая под этим что-то вроде нажатия на Reset) м.б. всё, что угодно, вплоть до полной порчи базы. Кто бы спорил ;) Дело в другом, сервак после этого пытается восстановить состояние до сбоя, восстанавливает, а значения autoincrement полей - нет. ASCRUS Марсель, а у Вас там сервер ASA случайно не запускается с ключиком -u ? Нет, таким ключиком не пользуемся. А проверял на тестовом серваке, все по умолчанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2009, 09:04 |
|
||
|
asa9: повторные значения autoincrement
|
|||
|---|---|---|---|
|
#18+
Марсель Возможно ASA делает приращение переменной @@identity в оперативной памяти и после checkpoint или корректной остановки базы сбрасывает значение в системную таблицу (вполне логично не писать сразу, изменений может быть сотни), а при жестком выключении соответственно и писать то не кому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2009, 14:36 |
|
||
|
asa9: повторные значения autoincrement
|
|||
|---|---|---|---|
|
#18+
Было у меня такое Лечил вручную в таком духе CALL sa_reset_identity ('klient', 'dba', 0); ------------------------------------------------------ А вообще-то свои автоключи как-то понятнее Делаешь генератор типа Getcount([table],[field]) и контролируешь что угодно... Дублирование, диапазон и т.д. И пусть оно там ломается - всегда в том же генераторе исправить можно автоматом А вот без этого исправления на нагруженных таблицах периодически ломается и абсолютно непонятно почему(Что свои - что autoincrement) Такие вот наблюдения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2009, 16:57 |
|
||
|
asa9: повторные значения autoincrement
|
|||
|---|---|---|---|
|
#18+
Гриценко А.В. пишет: > Делаешь генератор типа Getcount([table],[field]) и контролируешь что > угодно... Только с производительностью будут вилы... > А вот без этого исправления на нагруженных таблицах периодически > ломается и абсолютно непонятно почему(Что свои - что autoincrement) Как ты этого добился? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2009, 17:10 |
|
||
|
asa9: повторные значения autoincrement
|
|||
|---|---|---|---|
|
#18+
Гриценко А.В.Было у меня такое Лечил вручную в таком духе CALL sa_reset_identity ('klient', 'dba', 0); ------------------------------------------------------ А вообще-то свои автоключи как-то понятнее Делаешь генератор типа Getcount([table],[field]) и контролируешь что угодно... Дублирование, диапазон и т.д. И пусть оно там ломается - всегда в том же генераторе исправить можно автоматом А вот без этого исправления на нагруженных таблицах периодически ломается и абсолютно непонятно почему(Что свои - что autoincrement) Такие вот наблюдения Хе хе. На эту тему не одни копья сломаны, в том числе на sql.ru. Ваше решение во первых будет спотыкаться на блокировках, во вторых откатываться на транзакциях, в третьих требовать уровня REPEATABLEREAD или даже SERIALIZABLE для чтения текущего кода (в зависимости от реализации). Автоинкременты же - просто, надежно и беспроблемно. Не знаю, у кого и куда они слетают, у меня за все года работы проектов на АСА ни разу ни один инкремент никуда не слетал. P.S. Не очень понятна конструкция CALL sa_reset_identity ('klient', 'dba', 0) - если у Вас в таблице уже есть значения инкреметного поля, то зачем счетчик на ноль сбрасывать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2009, 17:15 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=35799925&tid=2011178]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
144ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 480ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...