SQL ПостоянныеТаблицы или Временная локальная таблица #461447


#0 by Широкий
Нужно загнать в таблицу большой объем данных и обработать его доп запросами. После окончания обработки таблица убивается. Вопрос: есть ли какие сущ.различия по производительности между Create table TestTable и Create table #TestTable З.Ы. Про область видимости временной таблицы в курсе.
#1 by Sadovnikov
Create table #TestTable - может вообще на диск не писаться. Если памяти хватает.
#2 by Широкий
Если не хватит - будет свопиться. А постоянная значит сразу пишется?
#3 by Широкий
+2 Или все таки временная будет писаться на жесткий?
#4 by ДенисЧ
Временная - пишется в tempdb, постоянная - в текущую БД. Вот и разница.
#5 by Широкий
Это я в курсе.
#6 by xzorkiix
если на раз два в одном сеансе - то сам бог велел временную юзать.
#7 by also
имхо, юзай временную...И заморачиваться с тем чтобы ее очистить не нужно :)
#8 by Широкий
Да в этом проблемы то нет..   Меня в плане производительности интересно узнать. Данных будет очень много
#9 by Широкий
Еще вопрос .. индексы лучше создавать до наполнения таблицы или после? Или вообще монопенисно?
#10 by H A D G E H O G s
Имхается, что после.
#11 by ДенисЧ
лучше после...
#12 by also
select * into #t from Чето create clustered index i1 on #t(КакоеТоПоле) select * from #t (index=1)
#13 by ДенисЧ
Хинты по индексам - зло :-)
#14 by also
Да ладно тебе...Я как бы показал, что лучше после )
#15 by Широкий
Я чтот-то твой пример догнать не могу
#16 by also
select * into #t from Чето //Создаем временную create clustered index i1 on #t(КакоеТоПоле) //Создаем индекс, первый индекс должен быть кластерным select * from #t //Смотрим что во временной табличке
#17 by H A D G E H O G s
Что это показывает?
#18 by also
кто?
#19 by Широкий
Да не.. запрос то я понятен. Мне не понятно как он показывает, что создание индекса после наполнения проходит быстрее
#20 by МихаилМ
если объем данных большой (больше 10 мгбайт) - создайте обычную таблицу разницы в #table или @table не будет
#21 by also
ааа....не показывает )))
#22 by also
Показывает что я бы так сделал ))
#23 by Широкий
По какой причине?
#24 by Широкий
Ну я бы сначала создал параметризованную временную таблицу, а уже потом наполнил ее данными. Мне ИМХАется это было бы оптимальнее
#25 by Широкий
Есть ли какая нить статья или личный опыт что нужно использовать именно постоянную таблицу
#26 by МихаилМ
по причине механизма распределения ОЗУ. если озу недостаточео то пофиг какая таблица если избыточно то тоже. при больших размерах разницы нет. это идеология виндоус  - не давать весь ресурс.
#27 by Широкий
Так.. Я теперь совсем запутался
#28 by Sadovnikov
"если избыточно то тоже" - вот это поясни?
#29 by МихаилМ
есть и статья и опыт и книга хендрсона выделите ms sql 200 мегов ОЗУ. потом поэкпериментируйте с таблой более 5 мегов. поработаете с ней. потом тоже при 8  гигах. результаты будут одинаковыми. те при определенном размере таблицы, в зависимости от возможностей приимущество временных таблиц снижается. как и обектов типа таблица. просто ms sql server заточен под большую нагрузку и имеет собственный механизм многопоточности и распределения озу. соответственно при достаточном обеме ОЗУ табла сохраняется в кэше а при недостаточном временнве сохраняются на диск. при заданных параметрах чтото (табла врем табла или таблица) будет эффективнее но при изменяющихся (размер таблы/размер свободного озу) не понясно. премущество временной таблы в ее амтоматическом удалеении в случае разрыва коннекшена.
#30 by dk
ну и с правами на временную таблицу попроще
#31 by МихаилМ
+ в рамках той же стратегии в 2005 убрана возможность закрепления в памяти таблиц.
#32 by Широкий
Вот теперь ясно. Последний вопрос: В 1с в запросах можно использовать конструкцию ... Где (Поле1,Поле2) В (ВЫБРАТЬ Поле11,Поле22 Из ДругаяТаблица) В скуле, кроме inner join нет других альтернатив?
#33 by МихаилМ
куча всяких джоинов. на любые скусы. Ваш пример самый неудачный. Правда иногда по другому в 1с8 - никак. Будте конкретны в вопросах и получите конкретные ответы.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С