Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ВыгрузитьИтоги() (число прочтений - 2479 )
Donat
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 152
Зарегистрирован: 29. Мая 2006
ВыгрузитьИтоги()
13. Июня 2008 :: 07:08
Печать  
Здравствуйте!
Извините за глупый вопрос, но никак не могу понять. Почему при одних и тех-же условиях, ВыгрузитьИтоги на SQL-ной базе работает на 2 порядка медленнее чем на DBF? Конфа - типовая торговля. Конкретно кусок кода - процедура списания по партиям из ГМ.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: ВыгрузитьИтоги()
Ответ #1 - 13. Июня 2008 :: 15:19
Печать  
я вот что думаю:
1) Если происходит временный расчет регистров - то какая разница - хоть DBF, хоть SQL - все будет браться из временных файлов.
2) Мнение, что на SQL медленнее очень субъективно - так как не приведены условия проведения тестов.
3) И вообще-то ВыполнитьИнструкцию() (прямым запросом) на SQL будет точно гораздо быстрее.
  
Наверх
IP записан
 
Donat
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 152
Зарегистрирован: 29. Мая 2006
Re: ВыгрузитьИтоги()
Ответ #2 - 13. Июня 2008 :: 17:52
Печать  
Условия проведения тестов:
Конфа - типовая. Размер базы маленький, только начали работать. SQL-сервер обычный 2*XEON 2GHz 4GB RAID10.
Файл-сервер - он-же.
Тестировал в монопольном режиме. Проводил документы за 10 дней. В день примерно 100 реализаций по 100 строчек. 4 поступления каждый день.

Просто проводил исследование, стоит ли в будущем переходить на SQL и каких трудозатрат это будет стоить.
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: ВыгрузитьИтоги()
Ответ #3 - 13. Июня 2008 :: 22:31
Печать  
Donat писал(а) 13. Июня 2008 :: 17:52:
Условия проведения тестов:
Конфа - типовая. Размер базы маленький, только начали работать. SQL-сервер обычный 2*XEON 2GHz 4GB RAID10.
Файл-сервер - он-же.
Тестировал в монопольном режиме. Проводил документы за 10 дней. В день примерно 100 реализаций по 100 строчек. 4 поступления каждый день.

Просто проводил исследование, стоит ли в будущем переходить на SQL и каких трудозатрат это будет стоить.


Выгрузить итоги в разделенном режиме в многопользовательской среде(ДБФ) происходит в разы медленнее
чем приведенном режиме. Чем меньше база тем файл сервер также быстрее.
Тест абсолютно некорректен
  
Наверх
 
IP записан
 
Donat
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 152
Зарегистрирован: 29. Мая 2006
Re: ВыгрузитьИтоги()
Ответ #4 - 14. Июня 2008 :: 04:12
Печать  
Я понимаю, что DBF на маленьких базах будет быстрее, но не на столько-же! А почему в принципе SQL настолько медленнее даже на таких маленьких базах, причем медленнее происходит не запись данных а чтение?
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: ВыгрузитьИтоги()
Ответ #5 - 14. Июня 2008 :: 10:04
Печать  
Donat писал(а) 14. Июня 2008 :: 04:12:
Я понимаю, что DBF на маленьких базах будет быстрее, но не на столько-же! А почему в принципе SQL настолько медленнее даже на таких маленьких базах, причем медленнее происходит не запись данных а чтение?


Выгрузить итоги на ТА ,в однопользовательском режиме, на локальной машине, в ДБФ варианте - крайне примитивно :Происходит позиционирование в CDX файле, после чего, для всех записей индекса происходит считывание пары ключ/recno по recno в ДБФ файле считывается запись. Все.
Ни групповых операций ни распределения нагрузки, ни использование статистики - как SQL должен это ускорять?
По сути это простое копирование части файла.

Это если интересует теория.
(P.S> криво написанная библиотека несколько замедляет этот процесс)
  
Наверх
 
IP записан
 
Donat
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 152
Зарегистрирован: 29. Мая 2006
Re: ВыгрузитьИтоги()
Ответ #6 - 14. Июня 2008 :: 10:10
Печать  
У меня он не на локальной машине, а на сервере специально с другого компьютера заходил чтобы был ещё один пользователь. Документы проводил обработкой, точку актуальности сдвигал и в DBF и в SQL варианте. Кстати, SQL ускорять и не должен, он не должен настолько замедлять. SQL хотим использовать, потому, что будет много рабочих мест и количество документов возрастет раз в 15-20, ну и для надежности.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать