2013-03-24 7 views
6

के साथ प्रदर्शन समस्या XE3 प्रोग्राम के साथ डेटा प्रोसेसिंग XE2 के साथ संकलित एक ही प्रोग्राम के मुकाबले 10 गुना अधिक है। यह ज्ञात मुद्दा है (संभवतः मुख्य रूप से TStringField को संदर्भित करता है), QC 111942 पर रिपोर्ट किया गया है, लेकिन यह अभी तक तय नहीं है। क्या इस मुद्दे के लिए किसी के पास कोई फिक्स/वर्कअराउंड है?डेल्फी एक्सई 3 - टीडीटासेट

टीआईए ब्रैंको

+0

आईएमएचओ आपकी एकमात्र उम्मीद है कि किसी तीसरे पक्ष मेमोरी टेबल घटक – ComputerSaysNo

+0

@ कंप्यूटर प्लेयर नहीं है - यह समस्या TClientDataset विशिष्ट नहीं है, मैं सीडीएस – Branko

उत्तर

0

XE5 में वही। इसके अतिरिक्त अतिरिक्त ट्रैफ़िक और इस क्लाइंट-सर्वर की सभी चीज़ों को सामान्य रूप से काम करने के लिए 5 एमबी प्रति सेकेंड (!) की आवश्यकता होती है। मैं केवल टीएफडीकनेक्शन और टीएफडीQuery का उपयोग कर रहा हूं। विशेष रूप से MySQL के लिए गति डेल्फी घटकों और तीसरे पक्ष के ड्राइवर (libmysql.dll) के साथ समान है। यदि आपके पास कोई फायरडाक नहीं है तो आप TFQLQuery को TSQLQuery से बदल सकते हैं। स्ट्रिंग ग्रिड को भरने का तरीका यहां दिया गया है:

procedure SelGrid(sql:ansiString;Q:TFDQuery;grid:TStringGrid); 
var i: integer; 
begin 
    Q.Close; 
    Q.SQL.Text:=''; 
    Q.Open(sql); 
    grid.ColCount:=Q.FieldCount; 
    grid.RowCount:=1; 
    while not Q.Eof do begin 
    for i := 0 to grid.ColCount-1 do grid.Cells[i,grid.RowCount-1]:=Q.Fields.Fields[i].AsString; 
    grid.RowCount:=grid.RowCount+1; 
    Q.Next; 
    end; 
    Q.Close; 
    if grid.RowCount>1 then grid.RowCount:=grid.RowCount-1; 
    grid.Row:=0; 
    //AutoSizeGridColumns(grid,30,200); 
end; 

यह वीसीएल स्ट्रिंग ग्रिड है। बेशक आप अपडेट के साथ सौदा करते हैं और इसी तरह, लेकिन आपके पास कोई और प्रदर्शन समस्या नहीं होगी।

+0

क्यूसी आइटम 111942 का उपयोग भी नहीं करता XE4 में हल किया गया है। क्या आप वाकई एक ही मुद्दा हैं? (डब्ल्यूसी प्रविष्टि में इस विशिष्ट समस्या के प्रदर्शन को मापने के लिए एक परीक्षण अनुप्रयोग शामिल है) – mjn

+0

नहीं, मुझे यकीन नहीं है, लेकिन MySQL5 के साथ मेरे पास प्रदर्शन समस्याएं थीं, जो तृतीय पक्ष कनेक्शन से असंतुष्ट थीं। उसके बाद मैं कोशिश करना शुरू कर दिया और पाया कि TFDConnection और TFDQuery प्रदर्शन के साथ libmysql.dll जैसा ही है, इसलिए मैंने ऐप को TFDConnection और TFDQuery के साथ पुनर्निर्मित किया। अब मैं डेटाबेस से निपट नहीं रहा हूं, इसलिए यह सिर्फ एक पुरानी याददाश्त थी। – LHristov

संबंधित मुद्दे