मेरे कुछ यूनिट परीक्षणों में टेबल बनाने के लिए केवल mysql के लिए 10-15 सेकंड लगते हैं। यह अनावश्यक रूप से लंबा लगता है। इसे लगभग 50 टेबल बनाना है, लेकिन यह प्रति सेकंड केवल 3 टेबल है। यूनिट परीक्षणों को ओवर-एंड-ओवर चलाने पर यह एक बड़ी परेशानी है।Django में MySQL तालिका निर्माण के लिए गति बढ़ाएं?
एक कामकाज के रूप में, मैं sqlite3 में अपने यूनिट परीक्षण चला रहा हूं। यह तेजी से चमक रहा है, लेकिन मैं अपने परीक्षणों को MySQL पर चलाने के लिए पसंद करूंगा क्योंकि यह मेरे लाइव सर्वर चलाता है।
गति अंतर को चित्रित करने के लिए, एक नई परियोजना बनाएं। फिर mysql का उपयोग कर सिंकडब चलाएं। फिर sqlite3 का उपयोग करके इसे आज़माएं।
[~/testproject] ./manage.py syncdb
Creating table auth_permission
Creating table auth_group
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site
मेरे लिए, MySQL में उपरोक्त तालिकाओं को बनाने में लगभग 2 सेकंड लगते हैं। Sqlite3 लगभग तुरंत है।
मैं अपनी विकास मशीन पर mysql चला रहा हूं। यहां मेरा my.cnf है।
कृपया सुझाव दें कि आप किसी भी सुझाव या tweaks के बारे में सोच सकते हैं जो MySQL के तालिका निर्माण समय को तेज करने में मदद कर सकता है।
क्या आपकी MySQL तालिका स्थानीय या दूरस्थ है? – Martin
यह मेरे मैक पर स्थानीय है। यदि आप चाहें तो मेरा my.cnf देखें: http://pastebin.com/m69af8ba3 – Gattster
"मैं अपने परीक्षणों को MySQL पर चलाने के लिए पसंद करूंगा" क्यों? आप Django ओआरएम परत पर भरोसा नहीं करते? –