|
|
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
pastor, а не будет ли минусом в производительности, что GTT работает через файлы, а обычные таблицы через ОЗУ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 11:44 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012, хватит чушь нести ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 11:45 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Почему чушь то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 11:56 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012Почему чушь то? Источник информации о том, что "GTT работает через файлы, а обычные таблицы через ОЗУ" есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 12:01 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012, потому что данные обычных таблиц тоже живут в файле, только в файле БД. Про ОЗУ это исключительно твоя фантазия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 12:01 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012pastor, а не будет ли минусом в производительности, что GTT работает через файлы, а обычные таблицы через ОЗУ? всеми слабыми своими силами удерживаю себя от троллинга. GTT файлы в точности такие же как и файлы БД, только они 1. временные, в т.ч. с точки зрения ОС 2. лежат в каталоге для временных файлов во всем остальном они работают через тот же самый нерезиновый страничный кэш, с теми же самыми стратегиями использования памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 12:42 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
pastorGTT файлы в точности такие же как и файлы БД, только они 1. временные, в т.ч. с точки зрения ОС 2. лежат в каталоге для временных файлов во всем остальном они работают через тот же самый нерезиновый страничный кэш, с теми же самыми стратегиями использования памяти. Всем спасибо за советы, решено отказаться от GTT т.к. явных преимуществ в производительности не видно, но огромный минус это отладка sql-запросов с использованием GTT особенно когда GTT заполняется на клиенте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 13:16 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Вместо GTT решено использовать свою временную таблицу (стандартную) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 13:18 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012, решил изобрести велосипед. Ждём вопросов почему база распухла и откуда берутся тормоза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 13:26 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012Всем спасибо за советы, решено отказаться от GTT т.к. явных преимуществ в производительности не видно, но огромный минус это отладка sql-запросов с использованием GTT особенно когда GTT заполняется на клиенте "Нравится" мне категоричность выводов Ну вставил-бы "по моему мнению" или "в моем случае" и претензий не было-бы никаких ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 13:30 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Симонов Денисfedorov2012, решил изобрести велосипед. Ждём вопросов почему база распухла и откуда берутся тормоза. кстати до этого база работала на FB 2.0 все ок - не распухла (tmp_table всегода оказывалась пустой) да и распухать неоткуда т.к. моя временная таблица используется на select без коммита транзакции, поэтому даже если возникнет дисконект все равно мусора не возникнет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 14:17 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
m7m, естественно все что здесь мною пишется это чисто мои мысли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 14:18 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012решено отказаться от GTT т.к. явных преимуществ в производительности не виднобред какой-то. Как же не видно, если при наличии ОЗУ ОСь не будет их материализовать на диске, а для стационарных таблиц это будет сделано обязательно, а при sinc режиме еще и всенепременнейше сию минуту. дисковое ИО это не аргумент? fedorov2012отладка sql-запросов с использованием GTTна время отладки делается стандартная таблица в тестовой БД, после отладки в рабочую БД идет ГТТ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 14:19 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012моя временная таблица используется на select без коммита транзакции, поэтому даже если возникнет дисконект все равно мусора не возникнет что такое мусор по твоему? Я тебе про версии записей говорил, а не про ненужные записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 14:28 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyКак же не видно, если при наличии ОЗУ ОСь не будет их материализовать на диске, а для стационарных таблиц это будет сделано обязательно 1. GTT работает через временные файлы 2. FB не дура, сбрасывать данные она будет в большинстве случаев, если идет комиит транзакции или ОЗУ заканчивается 3. Сделан емкий тест - разницы в производительности не замечено. Ivan_Pisarevskyна время отладки делается стандартная таблица в тестовой БД, после отладки в рабочую БД идет ГТТ. ага, а если это стек вызовом хранимых процедур ссылающиеся на tmp_table - все перекомпилировать на новую таблицу стандартную tmp_table2 - ну и зачем такой огород - ради чего, если нет очевидных плюсов GTT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 14:55 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Симонов Денисчто такое мусор по твоему? Я тебе про версии записей говорил, а не про ненужные записи. версий записей не возникает т.к. 1) транзакция не коммититься 2) при первом же select'e tmp_table все подчищается 3) select вызывается сразу же после вставки промежуточных id'шников в tmp_table т.к.после её заполнения она сразу же используется в select'ах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 14:58 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012моя временная таблица используется на select без коммита транзакциив сессии идёт вставка, в твою таблицу, а затем селект? и это делается в одной транзакции? а другие данные обрабатываются в другой транзакции? получается, что данные между разными транзакциями ты перекидываешь на клиенте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 15:00 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012, >> 1) транзакция не коммититься А что же делается ROLLBACK? Впрочем это не имеет значения. >> 2) при первом же select'e tmp_table все подчищается так у тебя же фильтрация идёт по сессиям. Значит почиститься она теоретически может только в своей сессии и то при следующем выполнении. >> 3) select вызывается сразу же после вставки промежуточных id'шников в tmp_table т.к. после её заполнения она сразу же используется в select'ах сборка мусора может начаться только после завершения текущей транзакции. Т.е. твой select будет делать сборку мусора только в новой транзакции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 15:09 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov20123. Сделан емкий тест - разницы в производительности не замечено.Ты DELETE не забыл убрать из своего ёмкого теста ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 15:09 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
roadsterfedorov2012моя временная таблица используется на select без коммита транзакциив сессии идёт вставка, в твою таблицу, а затем селект? и это делается в одной транзакции? Да! Временная таблица нужна для оптимизации скорости выборки когда join'иться куча таблиц - например, пользователь отмечает нужные записи галочкой и формирует отчет - выборка сделается только по этим записям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 16:31 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Симонов Денисfedorov2012, А что же делается ROLLBACK? естественно, данные мне нужны для выборки (например сформировать отчет0 Симонов Денистак у тебя же фильтрация идёт по сессиям. Значит почиститься она теоретически может только в своей сессии и то при следующем выполнении. работа каждой сессии завершается вызовом select'a запроса в котором и участвует наш tmp_table. Симонов Дениссборка мусора может начаться только после завершения текущей транзакции. Т.е. твой select будет делать сборку мусора только в новой транзакции Даже если и так, это операция мгновенная на тех объемах (10-500 записей) которые вставляются в tmp_table. Но повторюсь сборка мусора выполниться в этом же select'e, схема такая: 1. myTran //create and start 2. Fill tmp_table 3. select * from tmp_table tmp, mytable1 t1, mytable2 t2... where t1.id=tmp.tmp_id and t2.id2=t1.id2 and... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 16:38 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
hvladfedorov20123. Сделан емкий тест - разницы в производительности не замечено.Ты DELETE не забыл убрать из своего ёмкого теста ? не забыл и delete не обязателен т.к. commit'a нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 16:40 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012, не выполнится. Сколько раз говорить, что сборка мусора может начаться только в новой транзакции. Вот если бы у тебя Fill tmp_table выполнялся в одной транзакции. А select в другой тогда выполнялась бы. Но для этого необходимо чтобы транзакция которая для Fill tmp_table завершилась. А поскольку у тебя она завершается откатом данные ты не увидишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 17:18 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисВот если бы у тебя Fill tmp_table выполнялся в одной транзакции. А select в другой тогда выполнялась бы. Но для этого необходимо чтобы транзакция которая для Fill tmp_table завершилась. А поскольку у тебя она завершается откатом данные ты не увидишь. Все нормально работает, мусор не накапливается - делаю простой пример 1. стартуем транзакцию 2. заполняем tmp_table 3. выполняем select sql-запрос с участием tmp_table для формирования отчета. 4. закрываем транзакцию с откатом. 5. Смотрим статистику базы через IBExpert левых версий 0. ч.т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 17:48 |
|
||
|
Преимущество временной таблицы от Firebird'a (Global Temporary Tables) перед собственной
|
|||
|---|---|---|---|
|
#18+
fedorov2012делаю простой пример Ты делаешь слишком простой пример. Undo log не переполняется и при откате транзакции она сама удаляет всё, что изменила в базе. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2014, 19:13 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38781635&tid=1563257]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
151ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 512ms |

| 0 / 0 |
