আমি @ রেমাসরুসানু (তার উত্তরের জন্য +1) এর সাথে একমত
SELECT COUNT(*) FROM mydb.mytable
InnoDB তে লেনদেনের স্টোরেজ ইঞ্জিনের মতো আচরণ করে। এটি মাইআইএসএএম এর সাথে তুলনা করুন।
MyISAM
যদি mydb.mytable
একটি MyISAM টেবিল, লঞ্চ SELECT COUNT(*) FROM mydb.mytable;
মাত্র চলমান মত হল SELECT table_rows FROM information_schema.table WHERE table_schema = 'mydb' AND table_name = 'mytable';
। এটি মাইআইএসএএম টেবিলের শিরোনামে সারি গণনার দ্রুত অনুসন্ধান শুরু করে।
InnoDB
যদি mydb.mytable
কোনও InnoDB টেবিল হয়, আপনি যা চলছে তা হজ-পড পাবেন। নিম্নলিখিতগুলি পরিচালনা করে আপনার এমভিসিসি চলছে:
- ib_logfile0 / ib_logfile1 (পুনরায় লগগুলি)
- ibdata1
- লগগুলি পূর্বাবস্থায় ফেরান
- রোলব্যাক
- ডেটা অভিধানের পরিবর্তনসমূহ ges
- বাফার পুল পরিচালনা
- লেনদেনের বিচ্ছিন্নতা (4 প্রকারের)
- পুনরাবৃত্তিযোগ্য পাঠ
- প্রতিশ্রুতিবদ্ধ পড়ুন
- অনুপস্থিত পড়ুন
- Serializable
একটি টেবিল গণনার জন্য InnoDB জিজ্ঞাসা করার জন্য এই অশুভ জিনিসগুলির মাধ্যমে নেভিগেশন প্রয়োজন। প্রকৃতপক্ষে, কেউ কখনও সত্যই জানে না SELECT COUNT(*) from mydb.mytable
যে কেবল পুনরাবৃত্তযোগ্য পাঠযোগ্য গণনা করা হয় বা প্রতিশ্রুতিবদ্ধ পড়া এবং যেগুলি অনিযুক্ত রয়েছে তার অন্তর্ভুক্ত থাকে।
আপনি ইনোডাব_স্ট্যাটস_অন_মেডাটাটা সক্ষম করে জিনিসগুলিকে কিছুটা স্থিতিশীল করার চেষ্টা করতে পারেন ।
ইনোডাব_স্ট্যাটস_অন_মেটা_ডেটা মাইএসকিউএল ডকুমেন্টেশন অনুসারে
যখন এই ভেরিয়েবলটি সক্ষম করা হয় (যা ভেরিয়েবলটি তৈরি হওয়ার আগে যেমন পূর্বনির্ধারিত হয়), মেইডাটা বিবৃতি যেমন শো টেবিল অবস্থা বা শো ইন্ডেক্স, বা INFORMATION_SCHEMA টেবিলগুলি ট্যাবলেট বা পরিসংখ্যানগুলিতে অ্যাক্সেস করার সময় InnoDB পরিসংখ্যান আপডেট করে। (এই আপডেটগুলি অ্যানালাইজ টেবিলের ক্ষেত্রে যা ঘটে তার অনুরূপ)) অক্ষম করা হলে, InnoDB এই ক্রিয়াকলাপগুলির সময় পরিসংখ্যান আপডেট করে না। এই ভেরিয়েবলটি অক্ষম করা স্কিমার জন্য অ্যাক্সেসের গতি উন্নত করতে পারে যার মধ্যে প্রচুর টেবিল বা সূচি রয়েছে। এটি InnoDB টেবিলগুলিতে জড়িত প্রশ্নের জন্য কার্যকরকরণ পরিকল্পনার স্থায়িত্বও উন্নত করতে পারে।
এটি নিষ্ক্রিয় করা আপনাকে এক্সপ্ল্যান পরিকল্পনাগুলি সেট আপ করার ক্ষেত্রে আপনাকে আরও স্থিতিশীল গণনা দিতে পারে বা নাও দিতে পারে। এটি SELECT COUNT(*) from mydb.mytable
কোনও ভাল উপায়ে, খারাপ উপায়ে বা একেবারেই না পারফরম্যান্সকে প্রভাবিত করতে পারে । চেষ্টা করে দেখুন !!!