|
|
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Сабж в тройке это, конечно, круто, но не когда в результате получаешь из gen_id() один и тот же номер в параллельных транзакциях. Сессия 1: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Сессия 2 после этого: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 19:46 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
при использовании set generator я тебе в любой версии сгенерю одинаковые номера из gen_id :-) ЗЫ. SET GENERATOR - это теперь DDL, синоним ALTER SEQUENCE. DDL надо коммитить. Иначе ССЗБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 20:15 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
dimitrSET GENERATOR - это теперь DDL, синоним ALTER SEQUENCE. DDL надо коммитить. Иначе ССЗБ. Вот теперь мне надо сильно подумать: то ли забить на репликацию изменений генераторов в откаченных транзакциях вообще, либо придумать какое-то извращение для случаев, когда некоторые чудики полученные в таких транзакциях значения потом используют. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 20:49 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovdimitrSET GENERATOR - это теперь DDL, синоним ALTER SEQUENCE. DDL надо коммитить. Иначе ССЗБ. Вот теперь мне надо сильно подумать: то ли забить на репликацию изменений генераторов в откаченных транзакциях вообще, либо придумать какое-то извращение для случаев, когда некоторые чудики полученные в таких транзакциях значения потом используют. Теперь придётся подумать и тем кто использовал генераторы в "неестественных" для них целях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2014, 11:13 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
NikolayV81... надеюсь в следующих версиях не будет запрета на изменение текущего значения, как "у других". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2014, 11:16 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Использовали, потому что по-другому никак... Я как крит. секцию применяю в паре мест (вычитал вроде бы на ibase, кстати) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 14:18 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovСабж в тройке это, конечно, крутоЧто-то прошляпил я эту тему. Интересное дело, кажется. В где найти пример их использования ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 15:00 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Таблоид, перечитай топик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 15:50 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
kdvперечитай топик.Перечитал. У мну не так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Что такое фраза "Replication of transaction 114 initiated", которая лезет в стартовом посте сразу после select "gen_id(gen_t_log,1) from rdb$database;" ? Что такое вообще "транзакционные генераторы" и в где про них почитать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 15:56 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
ТаблоидЧто такое вообще "транзакционные генераторы" и в где про них почитать ?Это очередной бред Сибирякова, который наткнулся на побочный эффект в 3-ке и теперь машет им направо и налево... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 16:19 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
ТаблоидУ мну не так: autoddl отключи, select удвой и rollback после первого добавь. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 17:57 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
вах.... хренасе... :-) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 18:13 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Таблоид, ахтунг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 19:14 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
kdv, дык теперь уж и не знаю... :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 19:33 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Таблоид, нет уж, ты сначала определись! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 21:41 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
dimitrнет уж, ты сначала определись ! :-)Так тут сплошное уравнение неопределённости, возможно даже - по Гейзенбергу! А если без шуток, то: 1) оч хотелось бы внутри транзакции иметь некий счетчик, известный только ей, стартующий при её старте, с нуля, и ведущий себя как генератор; rdb$get/set_context'ы - очевидное решение, то тормознутое на cast'ах. Проверено. И даже в личку кое-кому было отправлено :-) 2) касательно примера выше - непонятно, ЗАЧЕМ так сделано. Почему set autoddl off вдруг так "завлиял". Ведь я могу приконнектиться к базе isql'ем, причём только с правом обращения к к-л генератору, ввести далее то, что показано - и что будут видеть остальные коннекты ? особливо весело будет, когда я коммит сделаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 22:14 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
ТаблоидА если без шуток, то: 1) Тогда голосуй за CORE-4001. 2) set generator это теперь alter sequence, DDL со всеми вытекающими. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 22:31 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, насколько я понял, конкретный коннект после set generator ... до commit будет видеть только "свои" значения генератора? А все остальные коннекты будут видеть нормальные значения? Это ради уменьшения writes в страницы генераторов? С другой стороны, set generator всегда был DDL, и его в PSQL использовать было нельзя. С какой-то версии вроде можно. Но вопрос - зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 22:40 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
kdvDimitry Sibiryakov Это тебе Влада надо спрашивать, я тут только по части бреда... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 22:43 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov> 2) set generator это теперь DDL Всегда был. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 22:49 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
kdvset generator всегда был DDL, и его в PSQL использовать было нельзя. С какой-то версии вроде можно. 1) SET GENERATOR никогда не был DDL . Он препарировался отдельным типом стеймента, выполнялся мгновенно (а не откладывался до коммита) и его нельзя было откатить. Почувствуйте, блин, разницу. 2) SET GENERATOR действительно не разрешался в PSQL, но это не делает его DDL. Только в Яффиле это ограничение убрали. А FB это можно обойти через EXECUTE STATEMENT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 22:54 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Таблоиднепонятно, ЗАЧЕМ так сделано. Почему set autoddl off вдруг так "завлиял". ты этот топик весь читал? 1) SET GENERATOR теперь = ALTER SEQUENCE = DDL, ибо стандарт не допускает произвольного изменения генераторов через DML. Сильно упертые могут продолжать выкручиваться с нестандартными инкрементами в GEN_ID. 2) Незакоммиченный DDL видеть никто не должен. Так что результат SET TRANSACTION до коммита виден только текущей транзакции. 3) В результате впервые в ФБ появляется транзакционный DDL - можно в одной и той же транзакции создать генератор и использовать его, а потом либо грохнуть либо закоммитить. 4) Возникает вопрос - какой счетчик должен увеличивать GEN_ID, выполненный в той же транзакции, что и незакоммиченный SET GENERATOR? Если "глобальный" (закоммиченный, видимый всем), то при коммите он сбросится в значение, установленное через SET GENERATOR - при неудачном раскладе мы потеряем и свои собственные изменения, и изменения других транзакций. Если "локальный" (видимый только текущей транзакции), то при коммите при неудачном раскладе мы потеряем только чужие изменения. 5) Явно изменять значения генераторов "на лету" при активной работе с базой - ахтунг. Делать это еще и в длинных транзакциях с GEN_ID внутри - дважды ахтунг. Кто на это нарвется в продакшене - ССЗБ. Это мое мнение. Можете попробовать меня переубедить :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 23:04 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
можно, конечно, попробовать при GEN_ID для незакоммиченного SET GENERATOR в качестве текущего значения брать MAX(генератор в базе, генератор в кеше) и вычислять это под локом для страницы генератора. Тогда наверное конфликтов не будет. Хотя "транзакционность" слегка пойдет лесом - SET GENERATOR G TO 123; SELECT GEN_ID(G, 0) FROM RDB$DATABASE; - сможет вернуть несогласованные данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 23:17 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
dimitr1) SET GENERATOR никогда не был DDL. Он препарировался отдельным типом стеймента, выполнялся мгновенно (а не откладывался до коммита) и его нельзя было откатить. 2) SET GENERATOR действительно не разрешался в PSQL, но это не делает его DDL. Порнография какая-то, ИМХО. Классическое "а здесь рыбу заворачивали". В доке про это тоже ни слова, кстати, там он идёт как DDL де-факто. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 23:22 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, всегда считал что SET GENERATOR есть DDL, а он оказывается только в трёшке стал таковым. Что в принципе верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 23:32 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
dimitrMAX(генератор в базе, генератор в кеше) особенно сильно этому обрадуются те извращенцы, кто юзает GEN_ID с отрицательным инкрементом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 23:56 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
dimitr2) Незакоммиченный DDL видеть никто не должен.Согласен! Посему, если уж так, то любое обращение "чужой" тр-ции к незакоммиченному изменённому генератору должно либо ждать коммита (и работать де-факто с закомиченным состоянием), либо выдавать ошибку доступа. Вот такое вот моё мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 00:13 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
dimitrСильно упертые могут продолжать выкручиваться с нестандартными инкрементами в GEN_ID.Конечно могут. И будут, ибо страница генераторов - одно из узких мест. Если сделать внутри цикла раздачу ИДшников из заранее полученного "пула" (через вызов gen_id( g, :N ), где N >> 1), то будет как в рекламе: "почувствуйте разницу". dimitr3) В результате впервые в ФБ появляется транзакционный DDL - можно в одной и той же транзакции создать генератор и использовать его, а потом либо грохнуть либо закоммитить.Это всё прекрасно, только как в двух транзакциях создать генератор-"времянку" с одинаковым именем (просто чтобы посчитать им чего-то там, и грохнуть затем) ? Не получится это. А раз так, то придется делать какой-то изврат типа создания генератора с именем, в которое будет включен номер текущей транзакции. А дальше - выполнять gen_id( имя, 1 ), но ведь его тогда уже и не выполнить в "явном" виде, только через ES. Гемор какой-то! Поэтому я проголосовал за CORE-4001. Нужен какой-то "локальный счетчик", видимый только в PSQL, никаким боком не отражающийся в метаданных. А еще лучше - структуры такого типа, но это уже фантазии, я понимаю :-) dimitrЕсли "локальный" (видимый только текущей транзакции), то при коммите при неудачном раскладе мы потеряем только чужие изменения.Что-то непонятно, про какие "чужие" изменения тут речь. Ведь никто не видит мой новосозданный генератор, пока я не ввёл commit. dimitr5) Явно изменять значения генераторов "на лету" при активной работе с базой - ахтунг. Делать это еще и в длинных транзакциях с GEN_ID внутри - дважды ахтунг. Кто на это нарвется в продакшене - ССЗБ.Нельзя менять в сторону уменьшения. Что плохого в увеличении на шаг N >> 1 для получения "пула" ИДшников - не ведаю. Я этим хаком получил только плюсы, и значительные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 00:36 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
hvladосему, если уж так, то любое обращение "чужой" тр-ции к незакоммиченному изменённому генераторуКак по мне так давать отлуп ( no wait), или подождать (wait) и потом или дать отлуп если коммит(роллбак) так и не прошел, если прошел, то отдать валидное значение клиенту и нехай радуется. ТаблоидНужен какой-то "локальный счетчик", видимый только в PSQLОпять таки мое мнение, это должен быть не генератор, ну или типа GTT генератор. ТаблоидЧто плохого в увеличении на шаг N >> 1 для получения "пула" ИДшников - не ведаю. Я этим хаком получил только плюсы, и значительные.Этому хаку сто лет в обед, штатно в ФИБах присутствует со времен царя Гороха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 09:27 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
ТаблоидНельзя менять в сторону уменьшения. Что плохого в увеличении на шаг N >> 1 для получения "пула" ИДшников - не ведаю. Я этим хаком получил только плюсы, и значительные. ага. Попробуй вот этот трюк сделать хотя бы 2 раза Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 09:31 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
dimitr4) Возникает вопрос - какой счетчик должен увеличивать GEN_ID, выполненный в той же транзакции, что и незакоммиченный SET GENERATOR? Если "глобальный" (закоммиченный, видимый всем), то при коммите он сбросится в значение, установленное через SET GENERATOR - при неудачном раскладе мы потеряем и свои собственные изменения, и изменения других транзакций. Если "локальный" (видимый только текущей транзакции), то при коммите при неудачном раскладе мы потеряем только чужие изменения. Имхо генераторы - это типовой разделяемый глобальный ресурс с locked exclusive доступом. то есть на псевдокоде GEN_ID - это Generator.Lock() try{ Generator.Inc( OptionalDelta ) return Generator.Current }finally{ Generator.UnLock() } Соответственно SET GENERATOR - Это установка еще одного lock завершения транзакции Generator.Lock() try{ Generator.Assign( NewValue ) Generator.Lock() try{ Generator.Inc( OptionalDelta ) return Generator.Current }finally{ Generator.UnLock() } Generator.Lock() try{ Generator.Inc( OptionalDelta ) return Generator.Current }finally{ Generator.UnLock() } } catch { Generator.Assign ( Pre-transaction value) } }finally{ Generator.UnLock() } // commit Соответсвенно, другие транзакции ВООБЩЕ не должны иметь доступа к генератору до решения его судьбы (снятия лока в результате commit/rollback) Соответственно внутри транзакции ВОЗМОЖНО не должно быть разрешено чтение ( GEN_ID, SELECT NEXT) после SET GENERATOR (он уже был залочен). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 13:08 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Кроме того мне непонятно что делать с генераторами, изменяемыми в середине длинной транзакции Trans1.Start // Gen=1 Gen_ID // Gen=2 ... Gen_ID // Gen=3 ... Gen_ID // Gen=4 ... SET GENERATOR 10 // Gen = 10 Gen_ID // Gen=11 ... Gen_ID // Gen=12 ... Gen_ID // Gen=13 ... Trans1.Rollback И вот куда теперь откатывать генератор ? на 1 или на 10 ? На 1 ? А если пока еще генератор не был "залочен" через DDL параллельные транзакции им тоже пользовались? На 10? А если внутри транзакции несколько SET GENERATOR ? То есть транзакция откатывается лишь частично ? IMHO это было правильно, что у SET_GENERATOR был отдельный тип команды, генераторы - вполне себе особый вид сущностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 13:14 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Кстати, хорший вопрос. Что будет делать GEN_ID(xxx), GEN_ID(xxx, +1) и SELECT NEXT FROM xxx на верхней границе? Свернётся или (лучше) выдаст ошибку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 13:15 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Симонов Денис Код: sql 1. у мну пока нет циклов с таким числом итераций... не дорос еще как бэ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 13:21 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Arioch, проверь. У меня в минус просто ушёл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 13:21 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Таблоид, не это про то что "Нельзя менять в сторону уменьшения." Как видишь в сторону увеличения тоже траблы могут быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 13:23 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Симонов Денисв сторону увеличения тоже траблы могут бытьЭто "слишком смелое" увеличение. Примерно как то, которое об столб ломается, когда "с дуру" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 13:30 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Симонов Денис> не это про то что "Нельзя менять в сторону уменьшения." Симонов Денис> Как видишь в сторону увеличения тоже траблы могут быть Шо, увлечение синтетическими поисками крайностей и пр. т.п. и тебя затронуло? Это что, заразно и передаётся воздушно-электронным путём? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 13:30 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Буй, не столб. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 13:31 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, проблема с "синтетическими поисами крайностей", что про это нафиг забывают в иотге ,а потом лет через 15-20-30 оппа, ошибка 2000 или что-то вроде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 14:07 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
то есть да, сейчас в 99,99% случаев заворачивание счетчика не актуаьлно. Но если когда оно станет актуально, про него могут просто не вспомнить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 14:08 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, это всего лишь ответ на то что увеличение генератора всегда безопасно. Не всегда. Пусть даже тест и синтетический ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 14:19 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
AriochНо если когда оно станет актуально, про него могут просто не вспомнитьПереход счетчика через 2^63-1 придется долго ждать, если двигаться к нему с шагом = 1. Даже если будут системы со 100 млн транзакциями в секунду... Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 14:19 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Таблоид, но один из способов разносить данные по "филиалам" как раз был через раздачу крупных пулов номеров Primary Key. Впрочем, согласен, жить с этим уже не нам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 14:50 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Таблоид, пример был приведён лишь в качестве демонстрации, что злоумышленник может и без уменьшения значения генератора напортачить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 15:13 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
Arioch> а потом лет через 15-20-30 оппа, ошибка 2000 или что-то вроде И? Ну будет не 2000, а 3000. Нет, лучше 5000. Голову лечить надо просто. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 15:19 |
|
||
|
Транзакционные генераторы
|
|||
|---|---|---|---|
|
#18+
AriochТаблоид, но один из способов разносить данные по "филиалам" как раз был через раздачу крупных пулов номеров Primary Key. Впрочем, согласен, жить с этим уже не нам Проблема скорее в том что во многих системах это число сильно меньше 2:63/"кол-во филиалов" ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 21:10 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1563093]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
107ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 553ms |

| 0 / 0 |
