Показать сообщение отдельно
Старый 28.04.2010, 13:16   #58  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Понятно. Спасибо.

Итак:
Аксаптовский delete_from работает НЕ медленнее.
Аксапта - хорошая девочка - и четко следует указаниям программиста, посылая команду "delete from" с правильными условиями.

Разница проявляется не в ядре аксапты. А в том, что на SQL посылаются разные условия к команде.
Причем разные условия - потому что программист в Management Studio, скорее всего, "забыл" про компании.

Цитата:
Сообщение от Shirmin Oleg Посмотреть сообщение
delete from SALESTABLE_TELECOMPHONTRA40478 where SALESTABLE_TELECOMPHONTRA40478.month = '2010-03-01'
Минуточку!!!!
это же совсем другие условия в запросе!!!

Обратите внимание, что Аксапта удаляет в пределах одной компании.
А вы удаляете данные изо всех компаний!!! (у вас нет условия dataareaid == "tz")

А почему вы в студии удаляете данные изо всех компаний?
Если вам компании неважны, то почему вы включили свойство SavePerCompany = Yes? Выключите это свойство и не будет компаний в этой таблице.

==================
Вы используете при запуске аксапты параметр, который позволяет изменить место dataareaid в индексе?
(подозреваю, что нет)

==================
Согласен с S.Kuskov, что сейчас удаление из аксапты не использует индекс. Либо использует, но делает дополнительный поиск по recid.

Как это ни странно, но удаление из студии у вас, скорее всего, вообще не использует индексы, а делает TableScan. И похоже table scan в конечном итоге работает быстрее. Как это ни странно.

Похоже, что вы удаляете почти все записи в таблице. 80%-90%-100% записей. так?

==================
Стесняюсь попросить... Вы планы обоих запросов показать сможете?
Или тоже объяснять нужно?

Если планы показать сложно, то
Рекомендация - вообще уберите индекс по month. Тогда, скорее всего, в обоих случаях (запрос из студии и запрос из аксапты) будет использоваться один и тот же план запроса. Или выключите свойство SavePerCompany, если вам не нужны компании в этой таблице.
__________________
полезное на axForum, github, vk, coub.