powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Почему так работает ? пните меня кто-нибудь ;) [sql запрос]
9 сообщений из 9, страница 1 из 1
Почему так работает ? пните меня кто-нибудь ;) [sql запрос]
    #32308797
Maxb1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня очередной спор.

Есть простейший SQL запрос:
select AC.ACCOUNTNO,
  from CUST_COUNTRIES C, AGENTS AG, ACCOUNTS AC
 where AC.AGENTCODE = AG.CODE and
       AG.COUNTRY = C.ID and
       AC.OPENDATE >= '10/21/2003' and
       AC.OPENDATE <= '10/25/2003 23:59:59'
order by AC.ACCOUNTNO
 
он возвращает ДВЕ записи:
78
81

Если я к нему добавляю еще одно условие AC.ACCOUNTNO = '82'
он возвращает всего одну запись.
82


Вопрос, почему ТАК? почему ее не было в первом ответе от сервера?
моя версия - убиты индексы или еще что-то с базой.

Хозяин SQL сервера - отвечает (он еще и гуру в IB) что типа
так работает оптимизатор. И что правильнее через JOIN
все это проделывать...

И приводит мне куски plan по моим запросам:
PLAN MERGE (SORT (C NATURAL),SORT (JOIN (AC NATURAL,AG INDEX DB$PRIMARY7))))

а когда добавляем уточнение по ACCOUNTNO то
PLAN JOIN (C NATURAL,AC INDEX (RDB$4),AG INDEX (RDB$PRIMARY7))


честн говоря, мне такое поведение базы (пропадание 82) непонятно.
и ставит под сомнение правильность всех кодов, что я писал
предыдущие года.

не дайте моей голове вскипеть вообщем. кто из нас прав?
...
Рейтинг: 0 / 0
Почему так работает ? пните меня кто-нибудь ;) [sql запрос]
    #32308942
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор писал:Хозяин SQL сервера - отвечает (он еще и гуру в IB) что типа
так работает оптимизатор. И что правильнее через JOIN
все это проделывать...

Оптимизатор тут непричем... А вот насчет join он совершенно прав.
Дело в том, что конструкция SELECT ... FROM A,B,C ... преобразуется
сервером в SELECT ... FROM A INNER JOIN B ON() INNER JOIN C ON() ... ,
если я не ошибаюсь. Вот отсюда и такие результаты ...


Best regards,
Dnico.
...
Рейтинг: 0 / 0
Почему так работает ? пните меня кто-нибудь ;) [sql запрос]
    #32309105
Maxb1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И что?

если там есть запись - почему ее не показывает мне?
она же попадает под условия..
...
Рейтинг: 0 / 0
Почему так работает ? пните меня кто-нибудь ;) [sql запрос]
    #32309202
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделай backup/restore - скорее как раз индексы битые.
...
Рейтинг: 0 / 0
Почему так работает ? пните меня кто-нибудь ;) [sql запрос]
    #32309349
Maxb1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня нет доступа к backup/restore :(
...
Рейтинг: 0 / 0
Почему так работает ? пните меня кто-нибудь ;) [sql запрос]
    #32309569
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так пускай их админ сделает. Можно ещё попробовать написать order by AC.ACCOUNTNO DESC
...
Рейтинг: 0 / 0
Почему так работает ? пните меня кто-нибудь ;) [sql запрос]
    #32310195
Maxb1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, все разрешилось.\r
\r
/topic/56414
...
Рейтинг: 0 / 0
Почему так работает ? пните меня кто-нибудь ;) [sql запрос]
    #32310232
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Еманов определил такое поведение как давно известную бяку и призвал к смирению и надеждам на светлое будущее

В общем-то я пробовал - с VARCHAR вроде нормально работает...
...
Рейтинг: 0 / 0
Почему так работает ? пните меня кто-нибудь ;) [sql запрос]
    #32310235
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, ошибся темой...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Почему так работает ? пните меня кто-нибудь ;) [sql запрос]
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]