Переключение на Главную Страницу Страницы: [1] 2 3 4 ОтправитьПечать
Очень популярная тема (более 25 ответов) Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2 (число прочтений - 21373 )
logarifm
Junior Member
**
Отсутствует



Сообщений: 92
Местоположение: Украина
Зарегистрирован: 29. Марта 2007
Пол: Мужской
Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
14. Ноября 2008 :: 07:41
Печать  
впервые столкнулся с проблемой. Стоит база на СКЛ 2005 размер ее 1.5Гб. Когда строить любой отчет база тормозит, наприммер делать отчет по контрагентам и всеравно были итоги п нему или нет отбирает долго примерно 20 секунд.

Я все это перекинул на 2000 СКЛ, проблема таже!

Развернул на ДБФ, все летает!

ВОПРОС!? в чем прикол..
  

я переписал бы мир, но Бог не дает мне исходники...
Наверх
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #1 - 14. Ноября 2008 :: 08:19
Печать  
Ну может быть все таки в статистике и состоянии индексов?
А может и в оборудовании.
Посмотрите счётчики;
Посмотрите планы выполнения медленных запросов;
В конце концов выполните в query
Код
Выбрать все
USE base_1c
DBCC SHOWCONTIG(@TableName) 


где @TableName - имя таблицы участвующей в запросе.
В запросе обычно участвует:
1) Таблица журнала документов _1sjourn;
2) Таблицы регистров RAxxx и RGxxx
Приведите результаты инструкции для этих таблиц сюда, и тогда может быть получиться Вам помочь.
  
Наверх
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #2 - 14. Ноября 2008 :: 08:45
Печать  
UPDATE STATISTIC надо сделать.
  
Наверх
ICQ  
IP записан
 
logarifm
Junior Member
**
Отсутствует



Сообщений: 92
Местоположение: Украина
Зарегистрирован: 29. Марта 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #3 - 14. Ноября 2008 :: 08:50
Печать  
Я залез впрофайлер и смотрю как он опрашивает СКЛ-сервер вовремя выполнения запроса. Сама 1С считает итогши по дням и очень долго!

Вот что летит на сервер:

exec _1sp_SC4014_ByID '     9   '
exec _1sp_SC131_ByID '     0   '
..........
Select * from _1SSYSTEM(NOLOCK)
Select * from _1SSYSTEM(NOLOCK)
..........

declare @p1 int
set @p1=1073741838
declare @p2 int
set @p2=180152467
declare @p5 int
set @p5=2
declare @p6 int
set @p6=1
declare @p7 int
set @p7=-1
exec sp_cursorprepexec @p1 output,@p2 output,N'@P1 datetime,@P2 varchar(9)',N'Select * from RG4335(NOLOCK) where PERIOD=@P1 and SP4322=@P2',@p5 output,@p6 output,@p7 output,'2008-10-01 00:00:00:000','     9   '
select @p1, @p2, @p5, @p6, @p7

exec sp_cursorfetch 180152467,1,0,1
exec _1sp_SC204_ByID '     3   '
........

  

я переписал бы мир, но Бог не дает мне исходники...
Наверх
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #4 - 14. Ноября 2008 :: 08:54
Печать  
Это самый долгий запрос?
Касательно того что по дням 1С-ка обрабатывает - это связано с получением в запросе реквизитов которые не содержаться в регистре.
Приведи сюда текст запроса в отчёте.
  
Наверх
IP записан
 
logarifm
Junior Member
**
Отсутствует



Сообщений: 92
Местоположение: Украина
Зарегистрирован: 29. Марта 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #5 - 14. Ноября 2008 :: 09:00
Печать  
-- Регистр.Покупатели (итоги)
USE Integrita
DBCC SHOWCONTIG('RG4335')

DBCC SHOWCONTIG scanning 'RG4335' table...
Table: 'RG4335' (580457392); index ID: 1, database ID: 6
TABLE level scan performed.
- Pages Scanned................................: 10689
- Extents Scanned..............................: 1366
- Extent Switches..............................: 1652
- Avg. Pages per Extent........................: 7.8
- Scan Density [Best Count:Actual Count].......: 80.88% [1337:1653]
- Logical Scan Fragmentation ..................: 6.01%
- Extent Scan Fragmentation ...................: 47.07%
- Avg. Bytes Free per Page.....................: 158.0
- Avg. Page Density (full).....................: 98.05%
DBCC execution completed. If DBCC printed error messages, contact your system administrator.



--RA4335      Регистр.Покупатели (движения)
USE Integrita
DBCC SHOWCONTIG('RA4335')

DBCC SHOWCONTIG scanning 'RA4335' table...
Table: 'RA4335' (1473544433); index ID: 1, database ID: 6
TABLE level scan performed.
- Pages Scanned................................: 7992
- Extents Scanned..............................: 1013
- Extent Switches..............................: 6738
- Avg. Pages per Extent........................: 7.9
- Scan Density [Best Count:Actual Count].......: 14.82% [999:6739]
- Logical Scan Fragmentation ..................: 96.11%
- Extent Scan Fragmentation ...................: 92.89%
- Avg. Bytes Free per Page.....................: 5053.3
- Avg. Page Density (full).....................: 37.57%
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
  

я переписал бы мир, но Бог не дает мне исходники...
Наверх
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #6 - 14. Ноября 2008 :: 09:05
Печать  
Смотри по таблице RA
- Scan Density [Best Count:Actual Count].......: 14.82% [999:6739]
- Logical Scan Fragmentation ..................: 96.11%
- Extent Scan Fragmentation ...................: 92.89%
это очень плохие показатели.
Сделай
Код
Выбрать все
DBCC INDEXDEFRAG (0,RA4335,@MyIndex) 


для каждого индекса @MyIndex из таблицы RA4335
  
Наверх
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #7 - 14. Ноября 2008 :: 09:05
Печать  
И снова приведи результаты DBCC SHOWCONTIG
  
Наверх
IP записан
 
logarifm
Junior Member
**
Отсутствует



Сообщений: 92
Местоположение: Украина
Зарегистрирован: 29. Марта 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #8 - 14. Ноября 2008 :: 09:05
Печать  
leshik писал(а) 14. Ноября 2008 :: 08:54:
Это самый долгий запрос?
Касательно того что по дням 1С-ка обрабатывает - это связано с получением в запросе реквизитов которые не содержаться в регистре.
Приведи сюда текст запроса в отчёте.


Запрос типовый! Складываеться всего кидать не буду куча кода просто...

Расшифровка = СоздатьОбъект("СписокЗначений");
    Расшифровка.Установить("Отчет", "ВедомостьПоКонтрагентам");
     
     // все настройки помещаем в список
     Расшифровка.Установить("ДатаНачала",      ДатаНачала);
    Расшифровка.Установить("ДатаКонца",      ДатаКонца);
     Расшифровка.Установить("ВыбРазделитель1",ВыбРазделитель1);
     Расшифровка.Установить("ВыбРазделитель2",ВыбРазделитель2);
     Расшифровка.Установить("ВыбРазделитель3",ВыбРазделитель3);
     Расшифровка.Установить("ВидРазделителя",ВидРазделителя);
     
     Расшифровка.Установить("ВыбКонтрагент", ВыбКонтрагент);
     Расшифровка.Установить("ВыбДоговор",      ВыбДоговор);
     Расшифровка.Установить("ПоОперациям",      ПоОперациям);
     Расшифровка.Установить("Просроченные",      Просроченные);
     Расшифровка.Установить("ПоГруппам",      ПоГруппам);
     Расшифровка.Установить("ВыбВидВалюты",      ВыбВидВалюты);
     
     Расшифровка.Установить("Долги", Долги.ТекущаяСтрока());
     
     Расшифровка.Установить("Группировки",      Группировки);      

     глПриСменеСтрокиТаблицыМФ(1,ТекСтрокаВТаблице,Контекст); // записываем изменения если они были
     
     // запомним МФ только если он задан
    Если глМножественныйФильтрЗадан(ТаблицаМФ) = 1 Тогда
           Расшифровка.Установить("ТаблицаМФ", ТаблицаМФ);
     КонецЕсли;
     
     //Создание объекта типа Запрос
     Запрос = СоздатьОбъект("Запрос");
     ТекстЗапроса =
     "//{{ЗАПРОС(Сформировать)
     |Период с ДатаНачала по ДатаКонца;";
     ДобПеремЗапроса(ТекстЗапроса,"Фирма",            "Фирма");
     ДобПеремЗапроса(ТекстЗапроса,"УпрАналитика","Фирма.УпрАналитика");
     ДобПеремЗапроса(ТекстЗапроса,"ЮрЛицо",            "Фирма.ЮрЛицо");
     ДобПеремЗапроса(ТекстЗапроса,"Контрагент",      "Договор.Владелец");
     ЗначениеСвойства");
     ДобПеремЗапроса(ТекстЗапроса,"Договор",            "Договор");
     ДобПеремЗапроса(ТекстЗапроса,"КодОперации",      "КодОперации");

ТекстЗапроса = ТекстЗапроса +
     "Функция НачОст = НачОст(Сумма);
     |Функция Приход = Приход(Сумма);
     |Функция Расход = Расход(Сумма);
     |Функция КонОст = КонОст(Сумма);
     |Функция НачОстВ = НачОст(СуммаВ);
     |Функция ПриходВ = Приход(СуммаВ);
     |Функция РасходВ = Расход(СуммаВ);
     |Функция КонОстВ = КонОст(СуммаВ);
     |Функция ВозвратОтПокупателя = Расход(Сумма)Когда (КодОперации = глКО.ВозвратОтПокупателя);
     |Функция ВозвратПоставщику = Приход(Сумма)Когда (КодОперации = глКО.ВозвратПоставщику);
     |Функция ВозвратОтПокупателяВ = Расход(СуммаВ)Когда( КодОперации = глКО.ВозвратОтПокупателя);
     |Функция ВозвратПоставщикуВ = Приход(СуммаВ)Когда (КодОперации = глКО.ВозвратПоставщику);";

........ тут еще кучка кода......

ГДЕ,
Процедура ДобПеремЗапроса(ТекстЗапроса,НазвПерем,НазвПеремРег)
                    
     ТекстЗапроса = ТекстЗапроса + РазделительСтрок;
     ВидОтчета = СписокВидовОтчетов.ТекущаяСтрока();
     Если (ВидОтчета=1) Тогда // покупатели
           ТекстЗапроса = ТекстЗапроса +
           НазвПерем+"      = Регистр.Покупатели."+НазвПеремРег+";";
     КонецЕсли;
     
     Если (ВидОтчета=2) Тогда // поставщики
           ТекстЗапроса = ТекстЗапроса +
           НазвПерем+"      = Регистр.Поставщики."+НазвПеремРег+";";
     КонецЕсли;
     
     Если (ВидОтчета=3) Тогда // оба
           ТекстЗапроса = ТекстЗапроса +                                    
           НазвПерем + "= Регистр.Покупатели."+НазвПеремРег+","+
                         "Регистр.Поставщики."+НазвПеремРег+";";
     КонецЕсли;
     
КонецПроцедуры  //ДобПеремЗапроса()
  

я переписал бы мир, но Бог не дает мне исходники...
Наверх
IP записан
 
logarifm
Junior Member
**
Отсутствует



Сообщений: 92
Местоположение: Украина
Зарегистрирован: 29. Марта 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #9 - 14. Ноября 2008 :: 09:08
Печать  
А как сделать для каждого индекса моей таблицы?
  

я переписал бы мир, но Бог не дает мне исходники...
Наверх
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #10 - 14. Ноября 2008 :: 09:11
Печать  
Цитата:
А как сделать для каждого индекса моей таблицы?

посмотреть какие индексы существуют для таблицы в Managment Studio. Или в DDS. (мне удобней в студии)
  
Наверх
IP записан
 
logarifm
Junior Member
**
Отсутствует



Сообщений: 92
Местоположение: Украина
Зарегистрирован: 29. Марта 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #11 - 14. Ноября 2008 :: 09:14
Печать  
Посмотрел в ентерпрайс менеджере имя индексов, он там только один:

DBCC INDEXDEFRAG (0,RA4335,'PK_RA4335')

Pages Scanned 7992
Pages Moved    3021
Pages Removed 4956
  

я переписал бы мир, но Бог не дает мне исходники...
Наверх
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #12 - 14. Ноября 2008 :: 09:14
Печать  
Цитата:
ДобПеремЗапроса(ТекстЗапроса,"УпрАналитика","Фирма.УпрАналитика");
     ДобПеремЗапроса(ТекстЗапроса,"ЮрЛицо",            "Фирма.ЮрЛицо");

ЗначениеСвойства");

Убери если не пользуешься детализацией.
Будет без перебора дней на стороне клиента.
  
Наверх
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #13 - 14. Ноября 2008 :: 09:14
Печать  
logarifm писал(а) 14. Ноября 2008 :: 09:14:
Посмотрел в ентерпрайс менеджере имя индексов, он там только один:

DBCC INDEXDEFRAG (0,RA4335,'PK_RA4335')

Pages Scanned 7992
Pages Moved    3021
Pages Removed 4956

Теперь результат статистики
  
Наверх
IP записан
 
logarifm
Junior Member
**
Отсутствует



Сообщений: 92
Местоположение: Украина
Зарегистрирован: 29. Марта 2007
Пол: Мужской
Re: Жудко тормозит база на SQL 1Cv7.7 ТиС 9.2
Ответ #14 - 14. Ноября 2008 :: 09:17
Печать  
только что проверил отчет.

Долго думал над 01.11.08
дни пролетел даже неувидил
Долго думал над 30.11.08
  

я переписал бы мир, но Бог не дает мне исходники...
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 4
ОтправитьПечать