2010-02-11 6 views
5

मेरे पास एक ऐसा एप्लिकेशन है जो ट्विटर से बड़ी मात्रा में डेटा लोड करता है। हमने कुछ प्रदर्शन समस्याओं को नोटिस करना शुरू कर दिया है और इसलिए मैं अनुप्रयोग डेटाबेस के लिए एसक्यूएल प्रोफाइलर सेटअप करता हूं। मैंने देखा है कि निम्नलिखित SQL कथन निष्पादित किए जा रहे हैं लेकिन मेरे कोड में कहीं भी दिखाई नहीं देते हैं। इसलिए, मुझे लगता है कि या तो SQL सर्वर 2005 या कोल्डफ्यूजन 8 कुछ कारणों से इन कथनों को जोड़ रहे हैं।अवांछित एसक्यूएल स्टेटमेंट्स को निष्पादित करने वाले कोल्डफ्यूजन

  1. SET TRANSACTION ISOLATION LEVEL READ COMMITTED
  2. SET FMTONLY ON select Title from Links where 1=2 SET FMTONLY OFF
  3. exec [sys].sp_datatype_info_90 -9,@ODBCVer=4
  4. EXEC sp_executesql N'set implicit_transactions off select USER_NAME() select usertype,type,name from systypes where usertype>=257'
  5. EXEC sp_execute 16,'iTunes Store'
  6. exec sp_unprepare 28
  • मैं अपने कोड
  • मेरे सभी प्रश्नों cfqueries से भाग गया जा रहा है किसी भी cftransaction की जरूरत नहीं है। (कोई संग्रहित प्रक्रियाओं)
  • मैं कभी नहीं एक कार्यकारी बयान कहीं भी निष्पादित या मेरे कोड
  • इन सभी बयान मेरी डेटाबेस उपयोगकर्ता खाते से भाग गया जा रहा है विशेष रूप से अपने वेब आवेदन के लिए
  • # 5 में बयान की स्थापना में चला रहा हूँ और # 6 कई अलग अलग संख्या के साथ दोहराया जाता है
  • बयान # 5 में, कई अलग अलग तार

क्यों इन बयानों जोड़े जा रहे हैं के साथ दोहराया जाता है कर रहे हैं वे की जरूरत है, और यदि नहीं मैं उन्हें कैसे रोक सकता है?

उत्तर

4

1,2,3,4 "सामान्य" ColdFusion कोड में के लिए जिम्मेदार किया जा सकता है समझ में किसी प्रकार का कर दिया है - आप यह सोचते हैं संस्करण 8 या 9 पर हैं यह सभी प्रकार की करता है यह सुनिश्चित करने के लिए बैकएंड में चारों ओर घूमना डेटाबेस सर्वर सक्षम है और स्वचालित रूप से जानकारी लौटने के लिए तैयार है कि ColdFusion CFQUERY के हिस्से के रूप में अनुरोध करता है, भले ही इसे आपकी वास्तविक क्वेरी में स्पष्ट रूप से नहीं कहा जा सके।

http://www.forta.com/blog/index.cfm/2007/7/6/ColdFusion-8-Can-Return-Identity-Values

मुझे नहीं पता कि क्या 5 और 6 कर रहे है।

इसके अलावा, आप एडोब प्रदान एमएस एसक्यूएल ड्राइवर का उपयोग कर रहे हैं या आप एमएस JDBC एसक्यूएल ड्राइवर का उपयोग कर रहे हैं?दो ड्राइवरों का उपयोग करने के बीच कुछ अंतर हैं:

http://cfsearching.blogspot.com/2008/03/cf8-ms-jdbc-12-driver-and-for-my-next.html

2

यह कोई बयान प्रोफाइलर है कि आप वास्तव में स्पष्ट रूप से अपने आप को कोड से भेजूँ में दिखाई देते हैं को देखने के लिए असामान्य तरह से है।

लेकिन वह मुख्य बिंदु है - आप नहीं स्पष्ट उन्हें भेज करते हैं, लेकिन वे कार्रवाई आप प्रदर्शन कर रहे हैं/आप उन्हें कैसे कर रहे हैं की वजह से परोक्ष किया जाता है।

उदा। यदि आपने वीबी 6 में एक रिकॉर्डसेट खोला है तो इसे फिर से घुमाएं, आप देखेंगे (उदा।) sp_cursor प्रोफाइल प्रोफाइलर के माध्यम से जा रहे हैं - अब इन्हें कोड द्वारा स्पष्ट रूप से नहीं कहा जा रहा है, लेकिन एडीओ कनेक्ट किए गए रिकॉर्डसेट के माध्यम से आगे बढ़ने के परिणामस्वरूप है।

मुझे आशा है कि मैं

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