Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.10.17;
Скачать: CL | DM;

Вниз

create table жутко тормозит   Найти похожие ветки 

 
Miau   (2009-07-02 14:25) [0]

У клиента два предприятия, использующих одну и ту же программу, работают каждое в своей базе. То есть, по структуре базы одинаковые. Но в одной из них тормозит вот это место, включённое в хранимую процедуру:


CREATE TABLE [ #SELL_ARTICLE] (
[ARTICLE_ID] [int] NOT NULL ,
[GROUP_ID] [int] NOT NULL ,
[ARTICLE_NAME] [varchar] (95) ,
[ARTICLE_CODE] [varchar] (30) ,
[ARTICLE_CODE1] [varchar] (255),
[ARTICLE_TYPE_ID] [int] NOT NULL ,
[ATYPE_NAME] [varchar] (10) NOT NULL ,
[PRICE_IN] [MONEY] NOT NULL ,
[PRICE_OUT] [MONEY] NOT NULL ,
[D1] [MONEY],
[D2] [MONEY],
[D3] [MONEY],
[D4] [MONEY],
[CURRENCY_ID] [int] NOT NULL ,
[CURRENCY_CODE] [varchar] (10) NOT NULL ,
[UNIT_ID] [int] NOT NULL ,
[UNIT_SHORT] [varchar] (10) ,
[WEIGHT] [MONEY],
[QUOTA] [int],
[QUOTA_BOX] [int],
[DESCRIPTION] [varchar] (90),
[MARKUP] [MONEY],
[IS_SELECT] [bit],
[GTD_CODE] [varchar] (33),
[GTD_COUNTRY] [varchar] (35),
[REST] [float],
[PLACE_STORAGE] [varchar] (45),
[RESERV] [float],
[PRIM] [varchar] (3),
[BRAK] [varchar] (5),
[BACK_COLOR] [int],
[TMR_AMOUNT] [money],
[TMR_RESERV] [money],
[TMR_PRICE] [money],
[TMR_DATE] [datetime],
[SCAN_CODE] [varchar] (20),
[IS_PRICE_ROUND] [bit],
[USER_WRITER] [varchar] (255),
[USER_CHANGE] [varchar] (255),
[DATE_CHANGE] datetime ,
[REST_FREE] [float]
)


Вот это на первой базе выполняется в миг, а на второй занимает 5 (пять !!) секунд. Обе базы помещены на один и тот же сервер. С обеими базами работал под логином sa.

Есть ли у кого-нибудь материалистическое объяснение сего феномена?


 
sniknik ©   (2009-07-02 14:41) [1]

> [ #SELL_ARTICLE]
а зачем такая экзотика? пробел в имени, + символ временной таблицы, это не опечатка? может это реально задумывалось как временная?


 
Miau   (2009-07-02 15:31) [2]

Это не пробел в имени. Это так форум отображает.

В общем, посмотрел повнимательнее.
Тормозит не сам CREATE, а вместо с INSERT, который идёт за ним.
Отдельно CREATE - быстро, 0 сек
Отдельно INSERT - быстро, 0 сек
Вместе - 5 сек

На первой базе все три варианта идут за 0 сек при приблизительно том же объёме данных


 
sniknik ©   (2009-07-02 16:31) [3]

> Это так форум отображает.
"копипастни" и посмотри, форум или там все таки пробел.

> Отдельно CREATE - быстро, 0 сек
> Отдельно INSERT - быстро, 0 сек
между ними по правильному нужен GO, т.к. таблица у тебя получается постоянная.


 
Miau   (2009-07-02 16:37) [4]

Нет там пробела, сам смотрел.

GO?
Прямо посреди хранимой процедуры?

Я серьёзно. Выдрал этот кусок create... insert... select...
Прогнал и на одной базе, и на другой, не меняя синтаксиса.
Разница результатов - 5 сек.


 
sniknik ©   (2009-07-02 16:40) [5]

> Нет там пробела, сам смотрел.
тогда убери скобки вокруг имени #SELL_ARTICLE, и проверь так

> Прямо посреди хранимой процедуры?
не, это для квери аналайзера. для проверки там и там пойдет, если чтото измениться надо будет думать.


 
stas ©   (2009-07-02 16:55) [6]

Miau   (02.07.09 16:37) [4]
количество записей одинаковое?



Страницы: 1 вся ветка

Текущий архив: 2010.10.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
2-1276928471
tippa
2010-06-19 10:21
2010.10.17
ведь всего-то 300 метров


15-1279014151
И. Павел
2010-07-13 13:42
2010.10.17
Прикладное программирование на C#.


15-1279321281
_Eraser
2010-07-17 03:01
2010.10.17
Администрации. Опять проблемы с анкетами


2-1279623092
keral
2010-07-20 14:51
2010.10.17
таблица с поддержкой редактируемых полей


15-1279450570
Вася
2010-07-18 14:56
2010.10.17
Закрытие программы в delphi