AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.11.2009, 12:17   #16  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 868 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
чем плохо правое выравнивание
При правом выравнивании запрос вида:
X++:
select sum(AmountCur) from ledgerTrans
where ledgerTrans.AccountNum == '41.100'
на MS SQL-сервер уйдет:
Код:
SELECT SUM(AMOUNTCUR)
FROM LEDGERTRANS
WHERE AccountNum LIKE '%41.100'
Что сильно напряжет сервер, так как не будет использован индекс.
При левом выравнивании запрос получится таким:
Код:
SELECT SUM(AMOUNTCUR)
FROM LEDGERTRANS
WHERE AccountNum = '41.100'
Что на порядок проще для MS SQL


Для Oracle правое выравнивание - не проблема, так как там получится как-то так
Код:
SELECT SUM(AMOUNTCUR)
FROM LEDGERTRANS
WHERE NLS_LOWER(LTRIM(AccountNum)) = NLS_LOWER('41.100')
Причем, индекс на таблице будет как раз по NLS_LOWER(LTRIM(AccountNum))
Теги
ax3.0, oracle, sql server, оптимизация, производительность, холивар

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Установка Dynamics 4.0 под Oracle Paul_ST DAX: Администрирование 6 20.04.2007 16:36
aEremenko: История об установке Microsoft Dynamics Ax 4.0 и Oracle 10G Blog bot DAX Blogs 0 28.10.2006 16:01
AOS + Oracle не стартует yuranio DAX: Администрирование 8 26.11.2004 14:24
Знатокам Oracle listener DAX: Администрирование 1 23.01.2004 10:53
"On MSSQL" or "On Oracle" alpine DAX: Прочие вопросы 5 19.03.2002 11:38

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:17.