Форум: "Базы";
Текущий архив: 2010.10.17;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c