Имя: Пароль:
IT
 
INSERT INTO #Table
,
0 Туц
 
12.08.11
10:55
Есть ли смысл переписывать с
нескольких вызовов
INSERT INTO #Table([Code], [Name])
VALUES ('1', '1')

на один вызов
insert into #Table
SELECT A.* FROM
(SELECT '1' Code, '1' Name
UNION ALL SELECT '2', '2'
UNION ALL SELECT '2', '2'
UNION ALL SELECT '2', '2'
UNION ALL SELECT '2', '2'
UNION ALL SELECT '2', '2'
UNION ALL SELECT '2', '2'
UNION ALL SELECT '2', '2'
UNION ALL SELECT '2', '2') A

по скорости выйгрыш будет?
1 Любитель XML
 
12.08.11
10:56
не знаешь как скорость замерить?
2 Туц
 
12.08.11
10:58
(1) знаю как, но newbie. Подскажи как цикл в QA сделать.
3 Туц
 
12.08.11
10:59
Хотя нет не надо подсказывать.
4 Ёпрст
 
12.08.11
11:16
(0) скуль то какой ?
ежели 2005 и выше, там есть новый синтаксис для записи в табличку, можно все значения сразу записать..
5 Туц
 
12.08.11
11:26
Скуль 2к
Примерно по замерам на 100к записях первый вариант 35сек, второй 4сек.
6 Кириллка
 
12.08.11
11:29
(4)Через CTE? А профит от этого будет?
7 Туц
 
12.08.11
11:31
добавлю. вопрос возник так как скидываю данные в скл.
Алгоритм примерно такой.
Делаем временную табличку.
Выявляем какие данные нужно UPDATE, а какие INSERT
Апдейтим, инсертим.

Так вот временную табличку заполняю как раз по одной строчке, ну и почему бы не оптимизировать?
8 Rebelx
 
12.08.11
11:32
один запрос быстрее
9 Fragster
 
гуру
12.08.11
11:33
INSERT INTO #Table([Code], [Name])
VALUES ('1', '1'),
VALUES ('1', '1'),
VALUES ('1', '1'),
VALUES ('1', '1'),
VALUES ('1', '1'),
VALUES ('1', '1')
будет еще быстрее
10 Fragster
 
гуру
12.08.11
11:33
INSERT INTO #Table([Code], [Name])
VALUES
('1', '1'),
('1', '1'),
('1', '1'),
('1', '1'),
('1', '1'),
('1', '1')
11 Туц
 
12.08.11
11:34
(8) По-моему выходит что нет. См. (5) 35с. против 4с.
(9) В mssql 2к так не получится
12 Туц
 
12.08.11
11:35
В идеале нужно делать через ХП, только нужно гуглить как бы туда передать табличку.
13 Fram
 
12.08.11
11:42
а в 2000-м bulk insert не было еще?
14 Туц
 
12.08.11
11:46
(13) Вроде есть.
15 Fram
 
12.08.11
11:50
(14) ну и флаг в руки.. у меня из файла очень быстро инсертит
16 Туц
 
12.08.11
11:53
(15) Так точно, спасибо. *машет флагом*
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший