powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 3.0 - наступит ли счастье?
25 сообщений из 51, страница 2 из 3
FB 3.0 - наступит ли счастье?
    #38900350
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovCDexОчень порой надо такое, чтобы создать временную таблицу, все что надо туда
напихать, обработать, а потом удалить ее :)

Практически всё, что можно сделать напихав данные во временную таблицу, можно сделать и
без напихивания.


Да помню через конструкцию for select ... do. Но вопрос не в этом.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900354
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CDexВ MS привык к такой штуке, как создание временных таблиц в процедурах.
В FB насколько я помню и знаю, такого так и не сделали.

И вот вопрос, а не планируется такое реализовать в FB3?:)Такое, как в T-SQL - нет
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900357
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

Спасибо.
Все что требовалось узнать.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900381
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне после FoxPro было плохо без привычных временных таблиц, созданий индексов на лету и проч безобразий.
...
Прошло. :)
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900390
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДплохоскорее скучно. Оно (файрберд) просто работает без "садо-мазо".

Мне тут пару лет назад подкинулиу портянку легаси кода на фокспро страниц на 20, выродилось это в итоге в пяток запросов, но чтоб это понять пришлось копать недели 2 или даже больше.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900556
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyчччДплохоскорее скучно. Оно (файрберд) просто работает без "садо-мазо".

Мне тут пару лет назад подкинулиу портянку легаси кода на фокспро страниц на 20, выродилось это в итоге в пяток запросов, но чтоб это понять пришлось копать недели 2 или даже больше.

А я вот с "интеграторами" как-то работал - они наши данные к себе в MS SQL заливали, а потом обрабатывали: перебирали все записи в табличке, для каждой записи искали подходящую в другой табличке, два вложенных цикла. Никаких джойнов, C# и циклы.
Результаты в созданную "на лету" табличку складывали.

"Если можно сделать что-либо неправильно, именно так и будет сделано" - (c).
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900601
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeroMQ,

Это "неправильные" интеграторы... Хотя сами, пока продукт от интеграторов (на C# (MVC) + MSSQL) не переписали почти на 50% - нифига не взлетело ;)
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900602
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeroMQ,

Стандартный метод мышления у людей, проработавших всю жизнь с дбфками.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900610
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CDex,
Ты привык на MS зашивать в текст процедуры создание временной таблицы с ее структурой. Со временем такой "стиль" начинает казаться нормой, казаться красивым. Но не здесь. Да, бывают случаи, когда временная таблица полезна для оптимизации. Но в очень редких случаях. И уж конечно не для того, чтобы создать ее в процедуре, наполнить и вывести - это убогий стиль Sybase/MS. GTT бывают полезны для работы с гарантированно всегда пустой таблицей при старте транзакции. Очень редко, но бывает полезно. И, конечно, чтобы доступ к ней был отовсюду - для этого и надо ее предварительно создать.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900676
vlad333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CDex,

Временные таблицы в MSSQL в 90% случаев используются от безысходности.
И большая часть этой проктологии происходит из невозможности сделать select * from procedure.
Приходится использовать извраты типа insert into #temptable exe procedure, причем
там есть не менее уродское ограничение на количество таких же конструкций внутри выбираемых процедур(2 насколько помню).
Есть select * from table_function, но тут тоже куча ограничений на содержимое этих табличных функций.

В Firebird такой проблемы нет, и хитрый запрос с соединением с процедурой покрывает 90% потребностей во временных таблицах.
А для тех мест, где есть такая потребность вполне можно создать и глобальную временную таблицу, все равно она очищается при коммите, но можно и внутри процедуры ее принудительно очистить, если процедура несколько раз в одной транзакции отрабатывает(другие транзакции ее содержимое все равно не видят) т.к. она по возможности хранится в ОЗУ, то это не должно занять много времени (в MS времянки тоже хранятся во временной базе tempdb, которая висит в ОЗУ по возможности, и кстати, изредка бывают возможны конфликты одинаковых имен таблиц при одновременной обработке). В 3-ке раньше собирались сделать truncate table, сейчас не смотрел, успели ли реализовать или нет, это еще упростило бы использование. Создание временной таблицы и убиение ее в конце процедуры почти равнозначно созданию вечной временной таблицы.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900710
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad333,

1. truncate отложили
2. truncate это DDL поэтому использовать в процедурах будет проблематично
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900728
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CDex,

после чтения книжек про warehouse были созданы GTT в количестве аж 6 штук для измерений, атрибутов, фактов, экземпляров и агрегатов.
хватает на все.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900740
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorCDex,

после чтения книжек про warehouse были созданы GTT в количестве аж 6 штук для измерений, атрибутов, фактов, экземпляров и агрегатов.
хватает на все.
А что за книжки?
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900758
CDex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем: задал вопрос, потому что как правильно заметил, привык и стало интересно, а планируется ли подобное в FB3. Дали ответ, что нет.

Вчера написал запросы уже без временных таблиц - пока непривычно после МС.
Насчет где использовать временные таблицы, каждый решает сам. По факту я использовал временные таблицы, для построения отчетности, и больше по факту нигде.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900773
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне GTT потребовалась ровно два раза для построения отчётов.
1. Построение родословной с расчётом инбридинга (тут без GTT туго, иначе один и тот же не лёгкий рекурсивный запрос будет перевыполняться много раз)
2. Для одного статистического расчёта (вот здесь можно было и без GTT сделать)

Где реально вижу пользу от GTT
1. Фильтрация по куче отобранных строк (это вместо динамического IN)
2. При импорте. Сначала заливаю данные как есть в GTT, а затем ХП раскладывает куда надо (в одну или несколько таблиц) с проверками дубликатов и др.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900779
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad333...внутри процедуры ее принудительно очистить, если процедура несколько раз в одной транзакции отрабатывает(другие транзакции ее содержимое все равно не видят)
У меня есть одна GTT c большим количеством полей I1, I2, ... (integer), N1, N2... (numeric) и есть поле ID_SESSION куда я записываю для всех одно и тоже значение.
Сперва id_session = gen_id(gen_session, 1) и затем для всех операций внутри процедуры
Код: sql
1.
select * from gtt where id_session = :id_session

. Из этой таблицы ничего не удаляю
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900788
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгенийvlad333...внутри процедуры ее принудительно очистить, если процедура несколько раз в одной транзакции отрабатывает(другие транзакции ее содержимое все равно не видят)
У меня есть одна GTT c большим количеством полей I1, I2, ... (integer), N1, N2... (numeric) и есть поле ID_SESSION куда я записываю для всех одно и тоже значение.
Сперва id_session = gen_id(gen_session, 1) и затем для всех операций внутри процедуры
Код: sql
1.
select * from gtt where id_session = :id_session

. Из этой таблицы ничего не удаляю
Зачем ты это рассказал. Теперь все так делать будут.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38900997
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис1. Фильтрация по куче отобранных строк (это вместо динамического IN)
2. При импорте. Сначала заливаю данные как есть в GTT, а затем ХП раскладывает куда надо (в одну или несколько таблиц) с проверками дубликатов и др.
Аналогично. Добавлю еще 2 пункта - для временного хранения расчетов (например, начисление и перерасчет абонента) с последующей загрузкой в постоянную таблицу (чтобы не удалять/создавать то же самое в постоянной таблице) и для получения историй на какую-то дату (например, нужна история численности на позавчера) для того же самого расчета.
Сейчас этих GTT уже более 50.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38901010
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeroMQpastorCDex,

после чтения книжек про warehouse были созданы GTT в количестве аж 6 штук для измерений, атрибутов, фактов, экземпляров и агрегатов.
хватает на все.
А что за книжки?

02.01.2005 16:53 17 083 203 Digital Press - Oracle9iR2 Data Warehousing - 2003.chm
07.02.2012 08:53 655 067 Idef1x.pdf
14.07.2003 19:45 12 166 686 John Wiley & Sons - IBM Data Warehousing. With IBM Business Intelligence Tools.pdf
23.02.2012 19:14 173 483 MSSQL-Kimball.htm
01.08.2003 14:19 1 599 374 Prentice Hall PTR - Oracle DBA Guide to Data Warehousing and Star Schemas.chm
12.04.2003 02:05 4 307 725 Wiley & Sons - Building The Data Warehouse. Third Edition.pdf
12.04.2003 02:04 4 677 615 Wiley & Sons - The Data Warehouse Toolkit. Second Edition.pdf
28.11.2013 16:08 <DIR> MSSQL-Kimball_files
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38907314
У меня тут вопрос возник - если есть поле, в котором миллионы не значащих значений "T", и только единицы значащих "F" - не оптимальнее ли с точки зрения FB и его индексов вместо "T" использовать null?
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38907323
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон КарасёвУ меня тут вопрос возник - если есть поле, в котором миллионы не значащих значений "T", и только единицы значащих "F" - не оптимальнее ли с точки зрения FB и его индексов вместо "T" использовать null?


А если не миллионы, а всего сто тысяч? Ну, в какой момент FB должен принять решение?
И что он должен начать делать в этот момент? :)
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38907337
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон КарасёвУ меня тут вопрос возник - если есть поле, в котором миллионы не значащих значений "T", и только единицы значащих "F" - не оптимальнее ли с точки зрения FB и его индексов вместо "T" использовать null?Нет.
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38907341
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Карасёвне оптимальнее ли с точки зрения FB и его индексов вместо "T"
использовать null?
В индексах NULL ничем не отличается от любого другого значения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38907522
Dimitry Sibiryakov,

Я понимаю, что сам индекс технически будет работать так же.
Но подозревал, что в статистике индекса могут быть отличия, и оптимизатор мог как-то по разному делать выбор.

Совсем-совсем нет отличий?
...
Рейтинг: 0 / 0
FB 3.0 - наступит ли счастье?
    #38907537
Антон Карасёв,

разве это сложно проверить самостоятельно ?
...
Рейтинг: 0 / 0
25 сообщений из 51, страница 2 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 3.0 - наступит ли счастье?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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