Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
22.05.2017, 13:22
|
|||
---|---|---|---|
Вопрос по соединению с GTT |
|||
#18+
Есть три таблицы. Одна постоянная, две других GTT с DELETE ROWS. Эти GTT присоединяются к первой через INNER JOIN. В одной GTT миллион строк, в другой - одна строка. Как FB определяет, какую из них использовать как мастер-таблицу, ведь статистика по индексам нулевая? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.05.2017, 17:35
|
|||
---|---|---|---|
|
|||
Вопрос по соединению с GTT |
|||
#18+
А что план говорит? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.05.2017, 05:35
|
|||
---|---|---|---|
Вопрос по соединению с GTT |
|||
#18+
DIR$ABONENT$ABONENT - постоянная таблица. FIL$DIR$ABONENT$ABONENT и FIL$DIR$HOUSE$HOUSE - GTT с DELETE ROWS ON COMMIT. Подготавливаю запрос: Код: sql 1. 2. 3. 4. 5. 6.
План: Код: plaintext
Здесь все очевидно - перебираем FIL$DIR$ABONENT$ABONENT натуралом, а так как она все равно пустая, то отбирается 0 записей. Но непонятен момент - у IBExpert'а в статистике пусто - то есть как бы не было вообще никаких чтений, хотя NIR должны были быть по таблице FIL$DIR$ABONENT$ABONENT. Запускаем запрос: Код: sql 1.
Код: plaintext
Снова подготавливаем первый запрос и план меняется на: Код: plaintext
Делаю по-другому. Код: sql 1.
Код: plaintext
План: Код: plaintext
Тут логично - в таблице фильтрации домов нет строк, поэтому надо идти через нее. Код: sql 1.
Код: plaintext
План: Код: plaintext
То есть сервер каким-то образом увидел, что в таблице FIL$DIR$ABONENT$ABONENT меньше строк, а значит, идти надо через нее. Добавляем еще строк: Код: sql 1.
Код: plaintext
Код: plaintext
Но если запустить Код: sql 1.
, то план не меняется. Вот мне и не понятно, как сервер определяет план в соединениях с GTT. У меня часть таких запросов тормозит из-за неправильного плана, другая часть отрабатывает мгновенно. Логику найти не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&mobile=1&tid=1561568]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
234ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 492ms |
0 / 0 |