Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Создание временной таблицы на SQL сервере (число прочтений - 3372 )
bidler
Junior Member
**
Отсутствует



Сообщений: 68
Зарегистрирован: 06. Октября 2006
Создание временной таблицы на SQL сервере
24. Апреля 2007 :: 12:38
Печать  
Как грамотно создать временную таблицу на SQL сервере и
грамотно ее уничтожить ?
Сильно ли повлияет на производительность сервера ?
  
Наверх
 
IP записан
 
chicago
Senior Member
****
Отсутствует


1C++, I have nothing to
say more!

Сообщений: 316
Местоположение: Тернополь-Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание временной таблицы на SQL сервере
Ответ #1 - 24. Апреля 2007 :: 15:05
Печать  
Я так, например:
           
Код
Выбрать все
КілПер = ТабПер.КоличествоСтрок();

// готую тимчасову таблицю для базових одиниць виміру
SQLSes.Выполнить("
|if exists (select * from TEMPDB..SYSOBJECTS where ID = OBJECT_ID('TEMPDB..#ТабОдВ') and SYSSTAT & 0xf = 3)
|drop table #ТабОдВ;
|create table #ТабОдВ
|(
|	ID CHAR(9), PRIMARY KEY CLUSTERED (ID),
|	DESCR CHAR(20)
|)
|");

Если SQLSes.Подготовить("INSERT INTO #ТабОдВ (ID, DESCR) VALUES(?, ?)") = 0 Тогда
	Сообщить(SQLSes.GetLastError(), "!");
КонецЕсли;

SQLSes.ВыполнитьSQL_ИзТЗ(ТабПер, КілПер); 


пока работает.
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание временной таблицы на SQL сервере
Ответ #2 - 24. Апреля 2007 :: 16:36
Печать  
Если ты создаешь временные таблицы сотнями и с большим объемом данных, то можно задуматься о переносе ее на отдельный скази диск. Если нет - даже не заморачивайся.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание временной таблицы на SQL сервере
Ответ #3 - 24. Апреля 2007 :: 16:38
Печать  
chicago писал(а) 24. Апреля 2007 :: 15:05:
// готую тимчасову таблицю для базових одиниць виміру


Несколько минут не мог въехать что в этой фразе не то.  Оказалось язык Улыбка
Без обид, просто необычно на 1сpp Улыбка
  
Наверх
 
IP записан
 
bidler
Junior Member
**
Отсутствует



Сообщений: 68
Зарегистрирован: 06. Октября 2006
Re: Создание временной таблицы на SQL сервере
Ответ #4 - 25. Апреля 2007 :: 05:04
Печать  
Мне на время формирования отчета нужна одна таблица.
Но в ней может быть до 3 тыс . записей.
Возможно падение производительности SQL сервера ?
  
Наверх
 
IP записан
 
chicago
Senior Member
****
Отсутствует


1C++, I have nothing to
say more!

Сообщений: 316
Местоположение: Тернополь-Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Создание временной таблицы на SQL сервере
Ответ #5 - 25. Апреля 2007 :: 05:42
Печать  
bidler писал(а) 25. Апреля 2007 :: 05:04:
Мне на время формирования отчета нужна одна таблица.
Но в ней может быть до 3 тыс . записей.
Возможно падение производительности SQL сервера ?


На 3 тыс., (если по 1-2 столбцам) не должно быть никаких "падений", если имелось ввиду создание самой врем. таб.
У меня были врем. табл. и по 500 тыс, и ни чего. Хотя это все зависимо...
  
Наверх
ICQ  
IP записан
 
bidler
Junior Member
**
Отсутствует



Сообщений: 68
Зарегистрирован: 06. Октября 2006
Re: Создание временной таблицы на SQL сервере
Ответ #6 - 25. Апреля 2007 :: 05:54
Печать  
Спасибо, буду пробовать.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать