मैं रूबी, डीबी (एमएस) -ड्रिवर और संग्रहीत प्रक्रियाओं पर रुबी के बीच लंबे समय से प्यार-नफरत संबंध से परिचित हूं और मैं संस्करण 2.3.2 के बाद रेल अनुप्रयोग विकसित कर रहा हूं।रेल संग्रहीत प्रक्रियाओं को अभी भी रेल (3+) में क्यों समर्थित नहीं किया जाता है?
हालांकि, हर बार एक बार स्थिति उत्पन्न होती है जहां एक एसपी (बहुत धीमी) आवेदन स्तर पर डेटा संयोजन से बेहतर विकल्प है। विशेष रूप से, चल रही रिपोर्ट जो एकाधिक तालिकाओं से डेटा को जोड़ती है आमतौर पर एक एसपी के लिए बेहतर अनुकूल होती है।
संग्रहित प्रक्रियाएं अभी भी रेल या MySQL मणि में इतनी खराब रूप से एकीकृत क्यों हैं। मैं वर्तमान में रेल 3.0.10 और MySQL2 मणि 0.2.13 के साथ एक प्रोजेक्ट पर काम कर रहा हूं लेकिन जहां तक मैं देख सकता हूं, नवीनतम एज रेल और MySQL मणि 0.3+ अभी भी एसपी का उपयोग करते समय टैंट्रम्स फेंक देते हैं।
समस्या जो अभी भी है, और अभी भी है, यह है कि एसपी के नाम के बाद डेटाबेस कनेक्शन खो जाता है।
>> ActiveRecord::Base.connection.execute("CALL stored_proc")
=> #<Mysql::Result:0x103429c90>
>> ActiveRecord::Base.connection.execute("CALL stored_proc")
ActiveRecord::StatementInvalid: Mysql::Error: Commands out of sync;
[...]
>> ActiveRecord::Base.connection.active?
=> false
>> ActiveRecord::Base.connection.reconnect!
=> nil
>> ActiveRecord::Base.connection.execute("CALL proc01")
=> #<Mysql::Result:0x1034102e0>
>> ActiveRecord::Base.connection.active?
=> false
क्या यह वास्तव में मुश्किल से निपटने में मुश्किल समस्या है, तकनीकी रूप से, या रेल द्वारा डिजाइन की पसंद है?
FWIW: फरवरी 2006 से, DHH साक्षात्कार: "मैं संग्रहित प्रक्रियाओं की तरह आकर्षक सुविधाओं में पूरी तरह से रुचि नहीं कर रहा हूँ , ट्रिगर्स, और जैसे "- http://dev.mysql.com/tech-resources/interviews/david-heinemeier-hansson-rails.html –
इसके अलावा [" मैं संग्रहीत प्रक्रियाओं और बाधाओं को समझता हूं और समेकन के बेकार विनाशक "] (http://web.archive.org/web/20060418215514/http://www.loudthinking.com/arc/000516.html) ... – dbr
2006 ... प्राचीन सिद्धांत (हाँ, 6 साल प्राचीन है एक दुनिया की पसंद में ई रेल ') शायद ही कभी प्रौद्योगिकी के विकास के खिलाफ अर्थ रखता है (640k पर्याप्त है, कोई भी?) सैद्धांतिक और व्यावहारिक डोमेन है। सिद्धांत रूप में मैं बिल्कुल रेल प्रतिमान से खड़ा हूं, लेकिन कभी-कभी सर्वश्रेष्ठ सामान्यीकृत डेटाबेस वास्तविक दुनिया में सबसे खराब प्रदर्शन देता है। जब कोई एसपी 100 एमएमएस से कम समय में मेरी रिपोर्ट के लिए डेटा एकत्र कर सकता है और इसे 'रेल मार्ग' में 2-3 सेकंड से अधिक समय लेता है और साझा डेटाबेस पर कई प्रश्न निकाल दिए जाते हैं, तो मुझे पता है कि स्पष्ट विजेता कौन है। – ChrisDekker