|
|
|
Странное поведение при большом количестве временных таблиц
|
|||
|---|---|---|---|
|
#18+
Приветствую. Насоздавал на днях в базе кучу временных таблиц, которые должны задействоваться в автоматически генерированных SQL-запросах (но пока задействовать не стал). Вот скрипты создания таких таблиц: Код: sql 1. 2. 3. 4. Код: sql 1. 2. 3. 4. <N> - это число от 0 до 20 И начались следующие чудеса. После заполнения данных в совсем другие таблицы , коммитом и последующем вызове команды на обновление статистики индексов Код: sql 1. где (some_index - это индекс для другой не временной таблицы) выдаётся ошибка: авторunsuccessful metadata update request depth exceeded. (Recursive definition?) Ещё замечено, что при ещё одном подключении к базе при попытке выполнить обновление статистики любого индекса происходит эта же самая ошибка. Если первое подключение, которые заливало данные отвалится, то ошибка во втором подключении исчезает. Куда вообще смотреть в этом случае? Может кто-то сталкивался с подобным? PS: повторюсь, временные таблицы пока не задействованы . Они просто созданы, но пока не заполняются данными и не участвуют в запросах. PPS: если убрать ограничение на уникальность знчения полей временных таблиц, то ошибка исчезает. PPPS: Win7 x64, FB 2.5.2 26540 пробовал и 64- и 32-битный вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 10:30:29 |
|
||
|
Странное поведение при большом количестве временных таблиц
|
|||
|---|---|---|---|
|
#18+
ArtDen, если всё именно так как описано то это похоже на баг. Кстати почему проверяется именно контроль уникальности, а не первичный ключ? К временным таблицам постоянные не привязывались? По идее так делать нельзя и Влад это недавно правил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:17:05 |
|
||
|
Странное поведение при большом количестве временных таблиц
|
|||
|---|---|---|---|
|
#18+
ArtDen, воспроизводимый пример, конечно же, уже в трекере ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:28:37 |
|
||
|
Странное поведение при большом количестве временных таблиц
|
|||
|---|---|---|---|
|
#18+
Симонов Денис , связей с другими таблицами не создавалось. Ограничения уникальности, а не первичный ключ сделано потому, что от первичного ключа нету смысла. Вообще подобные таблицы сделаны для того, чтобы избавится от таких вот запросов (условный пример): Код: sql 1. 2. 3. запросы автогенерированные и количество этих самых 'value_1', 'value_2' ... 'value_n' может переваливать за 1500, а firebird это уже не переваривает. Планируется задействовать временные таблицы так (тоже условный пример): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Т.е. ограничение по уникальности сделано чисто для того, чтобы быть уверенным, что генератор SQL-запросов не ошибся и не вставил во временную таблицу 2 и более неуникальных значения. hvlad , если бы было время, я бы так и сделал. К сожалению, пока завален работой :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:52:16 |
|
||
|
Странное поведение при большом количестве временных таблиц
|
|||
|---|---|---|---|
|
#18+
ArtDen hvlad , если бы было время, я бы так и сделал. К сожалению, пока завален работой :(Ну хотя бы на текущем снапшоте проверить можешь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 12:19:02 |
|
||
|
|

start [/forum/topic.php?fid=40&tid=1564266]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
203ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 493ms |

| 0 / 0 |
