TL; DR:यदि आपका फ़ोरम धीमा है, तो संभवतः ट्रांज़ेक्शन आइसोलेशन लेवल इसका कारण नहीं है और इसे डिफ़ॉल्ट के अलावा किसी और चीज़ पर सेट करने से शायद ही कोई मदद मिलेगी। innodb_flush_log_on_trx_commit =2 सेट करने से मदद मिलेगी, लेकिन क्रैश के लिए टिकाऊ परिणाम हैं।
लंबा संस्करण:
मैंने http:/ /mysqldump.azundris.com/archives/77-Transactions-An-InnoDB-Tutorial.html . http://mysqldump.azundris.com/categories/32 में सभी 3 InnoDB ओवरव्यू लेख देखें। -इनोडीबी ।
इसका नतीजा यह है कि किसी भी स्थिति में सिस्टम को रोलबैक करने में सक्षम होना चाहिए, इसलिए यहां तक कि पढ़ा भी नहीं गया है, कुछ भी बदल रहा है जिसे लिखने पर करने की आवश्यकता है।
लेन-देन पढ़ने के लिए, जब पूर्ववत लॉग रिकॉर्ड की श्रृंखला पढ़ने के लेन-देन के लिए अग्रणी होती है, तो पढ़ना धीमा होता है, इसलिए पढ़ें अनकमिटेड या रीड कमिटेड डिफ़ॉल्ट रिपीटेबल रीड की तुलना में बहुत थोड़ा तेज हो सकता है। लेकिन आपको यह ध्यान रखना होगा कि हम यहां मेमोरी एक्सेस की बात कर रहे हैं और यह डिस्क एक्सेस है जो आपको धीमा कर देता है।
AUTOCOMMIT के मामले में:यह हर एक राइट स्टेटमेंट को डिस्क में सिंक्रोनाइज़ करेगा। यदि आप पहले MyISAM का उपयोग कर रहे हैं और वह काफी अच्छा था, तो आप कॉन्फ़िगर करना चाह सकते हैं
[mysqld]
innodb_flush_log_on_trx_commit = 2
अपनी my.cnf फ़ाइल में और सर्वर को पुनरारंभ करें।
यह mysqld से फाइल सिस्टम बफर कैश में कमिट लिख देगा, लेकिन फाइल सिस्टम बफर कैश को डिस्क पर फ्लश करने में देरी करेगा ताकि यह केवल एक बार एक सेकंड में हो। आप mysqld क्रैश पर कोई डेटा नहीं खोएंगे, लेकिन हार्डवेयर क्रैश पर आप 1s तक के लेखन को खो सकते हैं। हार्डवेयर क्रैश के बाद भी, InnoDB स्वचालित रूप से ठीक हो जाएगा, और व्यवहार अभी भी MyISAM के साथ पहले की तुलना में बेहतर है, भले ही यह पूर्ण ACID न हो। यह उस सेटिंग के बिना AUTOCOMMIT से बहुत तेज़ होगा।