|
08.02.2005, 13:45 | #1 |
Участник
|
Мониторинг запросов SQL
В Сервис->Параметры включаю мониторинг запросов SQL. Запускаю операцию обработки входящего НДС. Трассировка показывает, что система тормозит на методе initRecordSortedList() класса BookDataCalc_VAT_Process_RU. Здесь идет перебор записей из queryRun, который генерится в методе qrMarkupsInLine() этого же класса. В этом методе запрос строится с использованием 8 таблиц: FactureJour_RU, FactureTrans_RU, MarkupTrans, VendInvoiceTrans, VendInvoiceJour, VendTrans, VendSettlement, VendTrans.
Все эти таблицы как раз и перечислены на вкладке "Таблицы" трассировщика. Однако, когда я смотрю в запрос, который ушел на сервер БД (или рассчитываю его план), то там фигурируют только две таблицы: FactureJour_RU и FactureTrans_RU SELECT A.FACTUREID, A.FACTUREDATE, A.FACTUREAMOUNT, A.FACTURETAX,A.CURRENCYCODE, A.CUSTVENDINVOICEACCOUNT, A.FACTUREEXTERNALID, A.NUMBERSEQUENCEGROUPID, A.NONREALREVENUE, A.OFFSESSIONID, A.CONSIGNEE, A.FACTUREROUNDOFF, A.CONSIGNOR, A.PRINTINMST, A.MODULE,A.FACTURETYPE, A.DOCUMENTNUM, A.DOCUMENTDATE, A.REVERSED, A.VOUCHER,A.CUSTVENDTRANSRECID, A.POSTINGLOGRECID, A.LANGUAGEID, A.DELIVERYADDRESS, A.FACTUREDATE_EXTERNAL, A.REVERSEDATE,A.UNM_PRINTCOPIES, A.UNM_PRINTORIGINALS, A.MODIFIEDDATE, A.MODIFIEDTIME, A.CREATEDBY, A.RECID, B.FACTUREID, B.INVOICEID, B.INVOICEDATE, B.LINENUM, B.INTERNALINVOICEID, B.QTY, B.LINEAMOUNT, B.COSTVALUE, B.DISCAMOUNT, B.UNIT, B.TAXAMOUNT, B.MULTILNDISC, B.LINEDISC, B.EXCISE, B.INVENTTRANSID, B.DIMENSION,B.DIMENSION2_, B.DIMENSION3_, B.DIMENSION4_, B.DIMENSION5_, B.INVENTGTDID, B.COUNTRY, B.FACTURELINETYPE, B.MODULE, B.INVOICELINENUM, B.EXCHRATE, B.VATVALUE, B.PRICE, B.VAT, B.ITEMNAME, B.EXCISEVALUE, B.MARKUPREFRECID, B.VATTYPE, B.DEL_CONFIGID, B.ITEMID, B.NUMBERSEQUENCEGROUP, B.SALESPURCHID, B.INVENTDIMID, B.TAXGROUP, B.TAXITEMGROUP, B.TAXCODE, B.TAXLEDGERACCOUNT, B.CREATEDBY, B.RECID FROM FACTUREJOUR_RU A,FACTURETRANS_RU B WHERE (SUBSTR(NLS_LOWER(A.CUSTVENDINVOICEACCOUNT),1,20)=NLS_LOWER('поставщик1')) AND (((B.FACTURELINETYPE=1) AND (SUBSTR(NLS_LOWER(A.FACTUREID),1,20)=SUBSTR(NLS_LOWER(B.FACTUREID),1,20))) AND (A.MODULE=B.MODULE)) ORDER BY SUBSTR(NLS_LOWER(A.FACTUREID),1,20),A.MODULE Что-то я не очень понимаю - а куда подевались остальные таблицы и какой запрос мне показывает трассировщик? Заранее спасибо!
__________________
Спокойствие, только спокойствие! (Астрид Линдгрен) |
|
20.02.2006, 19:37 | #2 |
Moderator
|
(...прошло чуть больше года...)
Цитата:
Сообщение от exceptor
В Сервис->Параметры включаю мониторинг запросов SQL. Запускаю операцию обработки входящего НДС... В этом методе запрос строится с использованием 8 таблиц: FactureJour_RU, FactureTrans_RU, MarkupTrans, VendInvoiceTrans, VendInvoiceJour, VendTrans, VendSettlement, VendTrans.
Все эти таблицы как раз и перечислены на вкладке "Таблицы" трассировщика. Я уже умею включать "Мониторинг запросов SQL". Знаю, что этот функционал умеет писать инфу в лог-файл и в таблицы SysTraceTableSQL и SysTraceTableSQLTabRef, откуда я могу почитать данные, например, неаксаптовскими средствами СУБД. А где же вкладка? (или я опять не увидел чего-то явного в меню? в профайлере?...) |
|
20.02.2006, 21:27 | #3 |
Участник
|
Администрирование/Запросы/База данных/Журнал трассировки операторов SQL
PS Должна стоять галка Настройки/SQL/Множественные запросы SQL/Таблица (база данных)
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 20.02.2006 в 21:46. |
|
21.02.2006, 09:12 | #4 |
Moderator
|
Цитата:
Сообщение от AndyD
Администрирование/Запросы/База данных/Журнал трассировки операторов SQL
Цитата:
Сообщение от AndyD
PS Должна стоять галка Настройки/SQL/Множественные запросы SQL/Таблица (база данных)
|
|
21.02.2006, 09:16 | #5 |
Участник
|
Сори, именно Параметры
__________________
Axapta v.3.0 sp5 kr2 |
|