powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Убрать отступы в select
6 сообщений из 31, страница 2 из 2
Убрать отступы в select
    #39934572
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky
Тут другое: "я отключаю оптимизатор нахрен". Задурить в отключенном состоянии действительно трудно.
Не только оптимизатор, но ещё и способы доступа к данным, применимые только к INNER.
...
Рейтинг: 0 / 0
Убрать отступы в select
    #39934577
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks,

в обще-то да плохое. LEFT надо использовать осознанно, а не для душения оптимизатора.
Подсказки джойнам лучше через +0 делать.

LEFT JOIN не умеет
1. менять порядок соединения, для оптимизатора это важно
2. использовать HASH/MERGE JOIN (надеюсь это научат в 4.0)

fraksБаза наполнена данными, порядок и соотношения количества записей по таблицам мне понятно. И процентное соотношение нужных мне значений в нужных мне полях с малым количеством значений, но с индексом - тоже мне известно и для чего я так задумал.

фигня всё это. Любое условие фильтрации, может эти соотношения поменять.
...
Рейтинг: 0 / 0
Убрать отступы в select
    #39934585
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
fraks,

в обще-то да плохое. LEFT надо использовать осознанно, а не для душения оптимизатора.
Подсказки джойнам лучше через +0 делать.


Я INNER использую осознанно, когда он показывает лучше результаты чем OUTER :)

Симонов Денис


LEFT JOIN не умеет
1. менять порядок соединения, для оптимизатора это важно
2. использовать HASH/MERGE JOIN (надеюсь это научат в 4.0)


Может быть и так.
Я пишу запросы что бы они были понятны мне.
То что LEFT не меняет порядок - это важно мне, что бы никто не вмешивался в мой запрос :)

Симонов Денис

fraksБаза наполнена данными, порядок и соотношения количества записей по таблицам мне понятно. И процентное соотношение нужных мне значений в нужных мне полях с малым количеством значений, но с индексом - тоже мне известно и для чего я так задумал.


фигня всё это. Любое условие фильтрации, может эти соотношения поменять.

Условие это условие, а количество записей в таблице от условий не зависит.
И из задаваемых мной условий лучше видно, когда эффективней будет начать отборку с таблицы в десятки миллионов, а когда эту таблицу нужно джойнить в последний момент.
Я никаких ОРМ не использую, автогенерации запросов нет.
...
Рейтинг: 0 / 0
Убрать отступы в select
    #39934591
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел в isql команду set width.
Она тоже не поможет топикстартеру - по заданной ширине тупо обрезаются и данные.
...
Рейтинг: 0 / 0
Убрать отступы в select
    #39936857
slj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
slj
Гость
fraks
Пока что мне нифига непонятно, для чего выгружать именно в txt.
Скорее всего удобнее экспортировать в какой-нибудь xls при помощи IBEScript.
Так же есть подозрение что то что в первом сообщении называется IBX, на самом деле имеется ввиду IBE. :)


да Вы правы не IBX, a IBE. По поводу isql set width-мне тоже не помогло))

Ох и накидали тут конечно мыслей про оптимизатор, ну да ландо. Решение было найдено в батнике, который исправляет все недочеты и да, файл нужен именно в .txt. Батник могу скинуть, если есть желание посмотреть, но по факту это допиленный .bat с ветки (памятка) удаление хвостовых пробелов в файле-результате isql

Остался один вопрос:
изначально была другая задача, но все поменялось. Запрос посылается в БД 2 раза в сутки в 8 утра и в 20 вечера. Необходимо посчитать интервалы с 08:00:00 по 20:00:00 в текущей дате, делаем так:
Код: sql
1.
2.
T.TRANZDATE = cast('now' as date) and
T.TRANZTIME >='08:00:00' AND T.TRANZTIME <='20:00:00' AND



а как из
Код: sql
1.
2.
T.TRANZDATE = cast('now' as date) and
T.TRANZTIME >='20:00:00' AND T.TRANZTIME <='08:00:00' AND

вычетать 12 часов от текущей даты?
т.е. например сегодня 13.03.2020. ровно в 8 утра я выполню запрос, который мне должен показать записи в интервале с 12.03.2020 20:00:00 по 13.03.2020 08:00:00. И так каждый день по расписанию.
...
Рейтинг: 0 / 0
Убрать отступы в select
    #39936862
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
slj,

От даты можно вычитать: минус один - вот и день до.
К дате можно прибавлять: плюс один - день после.
К дате можно прибавлять время.
"Сегодня" - 1 + "12:00" - вот тебе момент "12:00 вчера". С кастами, конечно.
А еще есть удобные функции: https://firebirdsql.org/refdocs/langrefupd21-intfunc-dateadd.html
...только непонятно, для чего все это в твоей задаче.
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Убрать отступы в select
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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