|
|
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Добрый день. Возник вопрос - в БД существует самопальная временная таблица для сбрасывания в нее промежуточных id, и эта таблица участвуют в других более сложных sql-запросов для увеличения производительности. Код: sql 1. 2. 3. 4. 5. Есть ли смысл с т. зр. производительности вместо самопальной использовать временную таблицу от FB. Код: sql 1. 2. 3. 4. 5. Очевидный минус в GLOBAL TEMPORARY TABLE от своей в том, что в свою я могу вставить нужные ID закоммитить передать SessionID и из любого места программы прочитать эти ID (также это удобно при отладке) и затем удалить за ненадобностью эти id из tmp_table. Но слышал, что мол GLOBAL TEMPORARY TABLE быстрее работает. На сколько быстрее? Вообщем есть ли смысл использовать GLOBAL TEMPORARY TABLE вместо своих стандартных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 18:01 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Данные из GTT не могут "пересекать границы подключения". Соответственно, если данные вставляются в одном подключении, а извлекаются в другом - использовать GTT вы не можете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 18:35 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovДанные из GTT не могут "пересекать границы подключения". Соответственно, если данные вставляются в одном подключении, а извлекаются в другом - использовать GTT вы не можете. Да, это минус GTT (хотя наличие данных в разных подключениях мало когда нужно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 18:38 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Ну тогда у GTT есть плюс в виде независимости данных в разных подключениях/транзакциях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 18:41 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovНу тогда у GTT есть плюс в виде независимости данных в разных подключениях/транзакциях. мнимый плюс, т.к. независимость данных достигается за счет поля "SESSION_ID" значение которого получается из генератора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 19:15 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
"Это не баг, это фича". Таблице наплевать откуда взялись данные. Фактом остаётся то, что два разных коннекта могут положить в GTT разный набор данных, а затем извлечь его простым "select * from таблица". Плюс это, минус или монопенисуально - уже на ваше усмотрение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 19:19 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012независимость данных достигается за счет поля "SESSION_ID" значение которого получается из генератора И которое из GTT можно вообще убрать, сэкономив размер. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 19:28 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012- Да, это минус GTT (хотя наличие данных в разных подключениях мало когда нужно) это не минус GTT, это их неотъемлемое свойство по определению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 19:34 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
m7mfedorov2012- Да, это минус GTT (хотя наличие данных в разных подключениях мало когда нужно) это не минус GTT, это их неотъемлемое свойство по определению Ок. А что касается скорости, действительно ли есть ощутимый прирост производительности или же особой разницы нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 19:39 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012m7mпропущено... это не минус GTT, это их неотъемлемое свойство по определению Ок. А что касается скорости, действительно ли есть ощутимый прирост производительности или же особой разницы нет? Не знаю, для меня это было вторичным, первичным же было "упрощение" некоторых алгоритмов ps/ Совсем субъективно (без всяких измерений и обоснований): там где использовались псевдо-временные таблицы разницу не ощутил, впрочем и не ожидал её ощутить, ибо объемы данных совсем не те. Там где не использовались, но переделали с использование временных таблиц разница ощутима ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 19:56 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012m7mпропущено... это не минус GTT, это их неотъемлемое свойство по определению Ок. А что касается скорости, действительно ли есть ощутимый прирост производительности или же особой разницы нет? GTT не плодят мусор. живут в отдельных файлах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 20:13 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
pastorживут в отдельных файлах в каких? FB где-то временно создает свои файл под GTT? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 21:28 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012 FB где-то временно создает свои файл под GTT? где-то создает. doc\sql.extentions\README.global_templorary_tables.txt p.s. ты задолбал уже на эту тему, честное слово :-) Сколько раз уже тебе тыкать нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 21:32 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
kdvp.s. ты задолбал уже на эту тему, честное слово :-) Сколько раз уже тебе тыкать нужно? в README.global_temporary_tables.txt ни слово про имя файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 21:37 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Задлянафига вам знать имена временных файлов:README.global_temporary_tables.txtData and index pages of all of the GTTs instances are placed in separate temporary files? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 21:41 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Скажите, пожалуйста, производим вставку данных в таблицу, но транзакцию не commit'ем - как ведет себя FB: все равно пишет данные на диск в mydb.fdb или же пока нет коммита хранит в ОЗУ (параметры транзакции read_committed, rec_version, nowait )? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 21:59 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
таблица имеется ввиду обычная (не GTT) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 22:00 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012Скажите, пожалуйста, производим вставку данных в таблицу, но транзакцию не commit'ем - как ведет себя FBЗадайте вопрос самому себе: что должен делать сервер, в распоряжении которого остался последний мегабайт ОЗУ, если ему вставили гигабайт данных? P.S. Ответ на вопрос: "А как это работает?" находится там, где вы упорно не желаете читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 22:05 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovесли ему вставили гигабайт данных? Спасибо, правильно ли я Вас понял, что сервер не скидывает данные в БД и хранит их в ОЗУ пока не вызвали commit у активной транзакции или же пока ОЗУ не начнет заканчиваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 22:07 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012Спасибо, правильно ли я Вас понял, что сервер не скидывает данные в БД и хранит их в ОЗУ пока не вызвали commit у активной транзакции или же пока ОЗУ не начнет заканчиваться?Если из А следует Б, то это ещё не означает, что из Б следует А. Политику кэширования определяют многие факторы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 22:14 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПолитику кэширования определяют многие факторы. Загадки какие-то, можно ли хотя бы сказать что в большинстве случаев поведение FB будет таким: сервер не скидывает данные в БД и хранит их в ОЗУ пока не вызвали commit у активной транзакции или же пока ОЗУ не начнет заканчиваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 22:21 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012Загадки какие-то, можно ли хотя бы сказать что в большинстве случаев поведение FB будет такимНет, не можно: пишите две реализации, тестовый сценарий и проверяете всё, что вас интересует на типичных данных вашего приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2014, 22:24 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
С большим интересом выслушаю мнение и других участников ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 11:04 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012, выигрыш может быть на сборке мусора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 11:08 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012pastorживут в отдельных файлах в каких? FB где-то временно создает свои файл под GTT? в каталоге TEMP Если каталог TEMP лежит на отдельном физическом диске от файла БД, то получим возможный прирост производительности. Плюсом к отсутствию мусора в основном файле БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 11:18 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38781155&tid=1563257]: |
0ms |
get settings: |
14ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
207ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
99ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 603ms |

| 0 / 0 |
