![]() |
#31 |
Участник
|
Понятно. Спасибо.
Итак: Аксаптовский delete_from работает НЕ медленнее. Аксапта - хорошая девочка - и четко следует указаниям программиста, посылая команду "delete from" с правильными условиями. Разница проявляется не в ядре аксапты. А в том, что на SQL посылаются разные условия к команде. Причем разные условия - потому что программист в Management Studio, скорее всего, "забыл" про компании. Цитата:
это же совсем другие условия в запросе!!! Обратите внимание, что Аксапта удаляет в пределах одной компании. А вы удаляете данные изо всех компаний!!! (у вас нет условия dataareaid == "tz") А почему вы в студии удаляете данные изо всех компаний? Если вам компании неважны, то почему вы включили свойство SavePerCompany = Yes? Выключите это свойство и не будет компаний в этой таблице. ================== Вы используете при запуске аксапты параметр, который позволяет изменить место dataareaid в индексе? (подозреваю, что нет) ================== Согласен с S.Kuskov, что сейчас удаление из аксапты не использует индекс. Либо использует, но делает дополнительный поиск по recid. Как это ни странно, но удаление из студии у вас, скорее всего, вообще не использует индексы, а делает TableScan. И похоже table scan в конечном итоге работает быстрее. Как это ни странно. Похоже, что вы удаляете почти все записи в таблице. 80%-90%-100% записей. так? ================== Стесняюсь попросить... Вы планы обоих запросов показать сможете? Или тоже объяснять нужно? Если планы показать сложно, то Рекомендация - вообще уберите индекс по month. Тогда, скорее всего, в обоих случаях (запрос из студии и запрос из аксапты) будет использоваться один и тот же план запроса. Или выключите свойство SavePerCompany, если вам не нужны компании в этой таблице. |
|
Теги |
ax2009, ccadoconnection, delete_from, оптимизация, удаление |
|
|