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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.09.2007, 12:48   #1  
eLLoco is offline
eLLoco
Участник
 
10 / 10 (1) +
Регистрация: 28.08.2007
Поиск места вызова SQL запроса
Здравствуйте.
Возникла задача оптимизации запроса из TOP30 по статистике Oracle.
Вот он:
Код:
SELECT /*+ FIRST_ROWS */
       a.invoiceid, a.invoicedate, a.linenum, a.inventtransid, a.
       itemid, a.externalitemid, a."NAME", a.taxgroup, a.currencycode, 
       a.priceunit, a.qty, a.del_costvalue, a.salesprice, a.
       discpercent, a.discamount, a.lineamount, a.ledgeraccount, a.
       dimension, a.dimension2_, a.dimension3_, a.dimension4_, a.
       dimension5_, a.qtyphysical, a.partdelivery, a.remain, a.
       salesid, a.salesunit, a.salesmarkup, a.transactioncode, a.
       del_configid, a.taxautogenerated, a.taxitemgroup, a.taxamount, 
       a.taxwritecode, a.multilndisc, a.multilnpercent, a.linedisc, 
       a.linepercent, a.origsalesid, a.lineheader, a.transport, a.
       inventdimid, a.numbersequencegroup, a.statprocid, a.dlvdate, 
       a.lineamounttax, a.port, a.customerlinenum, a.lineamountmst, 
       a.taxamountmst, a.lineamounttaxmst, a.sumlinedisc, a.
       sumlinediscmst, a.intercompanyinventtransid, a.excisevalue_ru, 
       a.vatvalue_ru, a.exciseamount_ru, a.vatamount_ru, a.
       facturedqty_ru, a.facturedfully_ru, a.inventshiftjournalid, 
       a.returnactionid, a.createdby, a.recid
    FROM custinvoicetrans a
    WHERE SUBSTR(NLS_LOWER(salesid), 1, 20) = NLS_LOWER(:in1)
      AND SUBSTR(NLS_LOWER(invoiceid), 1, 20) = NLS_LOWER(:in2)
      AND invoicedate = :in3
      AND SUBSTR(NLS_LOWER(numbersequencegroup), 1, 10) = 
          NLS_LOWER(:in4)
    ORDER BY SUBSTR(NLS_LOWER(a.itemid), 1, 25), a.invoicedate
Как видите, выбираются все поля таблицы CustInvoiceTrans с хинтом firstonly (или firstfast). Потратил уже три дня на поиск кода, откуда вызывается этот запрос. Что предпринимал: искал по AOT всевозможные комбинации "select [firstonly] [firstfast] custinvoicetrans", также проверял, не используются ли классы Query/QueryRun/... поиском "addRange(fieldNum(custInvoiceTrans", смотрел Query's, которые располагаются в AOT. Результаты получились следующие - есть запросы почти идентичные этому, но ни один из них не содержат выражения ORDER BY (или не вызывают метод addSortField()). Пробовал смотреть их SQL-код - ORDER BY там не появлялся.
Отчаявшись, сижу и перебираю результаты поиска по всему AOT строки "CustInvoiceTrans". 1702 результата и успехом пока не пахнет.
Может быть, я упустил какую-то возможность или не учел какой-то случай? Буду рад любой помощи.

Последний раз редактировалось eLLoco; 24.09.2007 в 12:49.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Экспорт результатов SQL запроса в CSV adandreev DAX: Программирование 14 13.07.2007 11:59
Управление опциями SQL запроса Ю-ю DAX: База знаний и проекты 9 20.02.2007 19:52
Вставка значения container в план запроса SQL mit DAX: Программирование 4 24.11.2005 18:42
Формирование sql запроса по Ctrl + F if_maks DAX: Программирование 2 08.10.2003 20:04

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

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

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