AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 15.12.2005, 16:34   #1  
Oleksandr is offline
Oleksandr
Участник
Oleksandr's Avatar
 
68 / 17 (1) ++
Join Date: 19.03.2005
Location: Киев
выигрыш от update_recordset
Всем здравствуйте

Нигде не нашел - все же какой выигрыш дают групповые оперции *_recordset по сравнению с while select ?

Понятно, что зависит от многого, но в среднем - разы или проценты?

Заранее спасибо
__________________
--
regards, Oleksandr
Old 15.12.2005, 16:51   #2  
Recoilme is offline
Recoilme
злыдень
Recoilme's Avatar
Злыдни
 
895 / 192 (8) ++++++
Join Date: 18.06.2003
разы
Old 15.12.2005, 17:18   #3  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow
2 Recoilme
а тестирование проводили?
результаты тестирования в студию
Old 15.12.2005, 17:31   #4  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow
В случае update_recordset, delete_recordset скорее всего будут разы.
А вот в случае с insert_recordset, это весьма спорный вопрос.

Да, и попробуйте например выполнить следующую конструкцию:
PHP Code:
    insert_recordset inventtabletest(itemId,ItemType)
    
select itemid,ItemType from inventtable;
    
group by itemid,ItemType
Old 15.12.2005, 18:37   #5  
Recoilme is offline
Recoilme
злыдень
Recoilme's Avatar
Злыдни
 
895 / 192 (8) ++++++
Join Date: 18.06.2003
glibs писал в сп4 исправили.
результаты готовить неохота.. не верите на слово, проверьте. Конечно если на 100 записях проверять будете - то у вас может и получатся спорные результаты, а вы на миллионах попробуйте, да ещё и при работающих пользователях. Почувствуйте разницу так сказать
Old 15.12.2005, 18:43   #6  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow
вот вчера как раз на СП4 и тестировал

дегроссель дезель машин функционирь нихт
Old 15.12.2005, 18:53   #7  
Recoilme is offline
Recoilme
злыдень
Recoilme's Avatar
Злыдни
 
895 / 192 (8) ++++++
Join Date: 18.06.2003
видать я напутал чегой-то, выходит не поправили групбая в инсертрекордсете..
здесь можно пожаловаться
This post has been rated by: Ronaldo (-1).
Old 15.12.2005, 19:08   #8  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow
Да, уж не дошли руки у кого-то, не дошли ....

А жаловаться будем обязательно

а с гроупбаем там происходит следующее:

Первый запрос, который вставляет данные во временную таблицу:
PHP Code:
SELECT 101090 AS f1,
              
'dem' AS DATAAREAID,
              
IDENTITY(int,1,1) AS RECID INTO #axapta_tmp_dem53  
FROM INVENTTABLE A(NOLOCK)  
WHERE (DATAAREAID='dem'
GROUP BY A.ITEMID,A.ITEMGROUPID 
ORDER BY A
.ITEMID,A.ITEMGROUPID OPTION(FAST 15
Второй запрос, который вставляет данные из временной таблицы в InventTable:
PHP Code:
INSERT INTO INVENTTABLETEST (ITEMID,
                                                    
ITEMGROUPID,
                                                    
DATAAREAID,RECID)
SELECT F1,
              
F2,
              
DATAAREAID,
              
RECID+44049859 
FROM 
#axapta_tmp_dem53 
Обратите внимание, в первом запросе совсем забыли про второе поле в гроупбае.
Однако во втором вспомнили.
Ан нэт его во временной талице.

Вот тут то Акса и ругается благим матом
This post has been rated by: Recoilme (3).
Old 15.12.2005, 19:20   #9  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow
Да и еще вдогонку....

что при while select .....
что при insert, update, delete recordset

все равно стандартные методы на таблицах будут дергаться столько раз, сколько записей обрабатывается.

так что по поводу производительности все-таки спорный вопрос
Old 15.12.2005, 19:24   #10  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 868 (32) +++++++
Join Date: 15.01.2002
Location: Москва
Blog Entries: 7
Quote:
все равно стандартные методы на таблицах будут дергаться столько раз, сколько записей обрабатывается
Это легко обходится
Old 15.12.2005, 19:58   #11  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow

2 Wamr


не спорю, я бы даже сказал весьма легко.

PHP Code:
     inventtabletest.skipDataMethods(true);

    
insert_recordset inventtabletest(itemId,ItemType)
    
select itemid,ItemType from inventtable
если вызвать перед оперцией вставки метод skipDataMethods(true), и передать ему соответствующий параметр, операция вставки будет происходить немного побыстрее

Last edited by Zan; 15.12.2005 at 21:05.
Old 16.12.2005, 09:32   #12  
Recoilme is offline
Recoilme
злыдень
Recoilme's Avatar
Злыдни
 
895 / 192 (8) ++++++
Join Date: 18.06.2003
а если написать skipttscheck(1), skipdatabaselog(1), selectlocked(0) - будет как в рекламе старого мельника, всё быстрее и быстрей
Old 16.12.2005, 11:44   #13  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow
еще....
Old 16.12.2005, 13:49   #14  
Recoilme is offline
Recoilme
злыдень
Recoilme's Avatar
Злыдни
 
895 / 192 (8) ++++++
Join Date: 18.06.2003
new Dictionary().tableTruncate(tablenum(RA_InventTrans), false);
работает быстрей delete_recordset , только восстановить потом невозможно
Old 16.12.2005, 13:54   #15  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow
аккуратней с такими советами, а то вдруг кто-нибудь попробует
Old 16.12.2005, 13:55   #16  
Recoilme is offline
Recoilme
злыдень
Recoilme's Avatar
Злыдни
 
895 / 192 (8) ++++++
Join Date: 18.06.2003
Class: RecordInsertList , хватит пожалуй..
а то вдруг кто-ть попробует и у него что-ть получится
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Есть ли выигрыш от RecordInsertList Wamr DAX: Программирование 30 18.09.2013 10:31
Проблема производительности при использовании виртуальных компаний. 7Up DAX: Программирование 51 05.02.2007 23:19

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 00:50.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.