আমি আরও blogentriesভাল পারফরম্যান্সের জন্য আমার ডাটাবেস সূচী করার চেষ্টা করছি কিন্তু একটি সমস্যা পেয়েছি found
এখানে কাঠামোটি রয়েছে:
CREATE TABLE IF NOT EXISTS `blogentries` (
`id_id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`title_id` varchar(100) COLLATE latin1_german2_ci NOT NULL,
`entry_id` varchar(5000) COLLATE latin1_german2_ci NOT NULL,
`date_id` int(11) NOT NULL,
PRIMARY KEY (`id_id`)
)
ENGINE=MyISAM
DEFAULT CHARSET=latin1
COLLATE=latin1_german2_ci
AUTO_INCREMENT=271;
নিম্নলিখিত মত একটি কোয়েরি সূচক সঠিকভাবে ব্যবহার করে:
EXPLAIN SELECT id_id,title_id FROM blogentries ORDER by id_id DESC
+ + ---- + + ------------- + + ------------- + + ------- + + -------- ------- + + --------- + + --------- + + ------ + + ------ + + -------- ----- + + | আইডি | নির্বাচন_প্রকার | টেবিল | প্রকার | সম্ভব_কিজ | কী | key_len | রেফ | সারি | অতিরিক্ত | + + ---- + + ------------- + + ------------- + + ------- + + -------- ------- + + --------- + + --------- + + ------ + + ------ + + -------- ----- + + | 1 | সরল | ব্লজেন্টারি | সূচী | নুল | প্রাথমিক | 114 | নুল | 126 | সূচকের ব্যবহার | + + ---- + + ------------- + + ------------- + + ------- + + -------- ------- + + --------- + + --------- + + ------ + + ------ + + -------- ----- + +
যাইহোক, যখন আমি যোগ entry_idমধ্যে SELECTক্যোয়ারী এটা filesort ব্যবহার
EXPLAIN SELECT id_id,title_id,entry_id FROM blogentries ORDER by id_id DESC
+ + ---- + + ------------- + + ------------- + + ------ + + --------- ------ + + ------ + + --------- + + ------ + + ------ + + ------------ ---- + + | আইডি | নির্বাচন_প্রকার | টেবিল | প্রকার | সম্ভব_কিজ | কী | key_len | রেফ | সারি | অতিরিক্ত | + + ---- + + ------------- + + ------------- + + ------ + + --------- ------ + + ------ + + --------- + + ------ + + ------ + + ------------ ---- + + | 1 | সরল | ব্লজেন্টারি | সব | নুল | নুল | নুল | নুল | 126 | ফাইলসোর্ট ব্যবহার | + + ---- + + ------------- + + ------------- + + ------ + + --------- ------ + + ------ + + --------- + + ------ + + ------ + + ------------ ---- + +
আমি ভাবছিলাম কেন এটি হচ্ছে এবং আমি কীভাবে এড়াতে পারি? এটি কি কারণে VarCharএবং এটি অন্য কোনও কিছুর মধ্যে পরিবর্তন করা উচিত?
আমি আমার সমস্ত প্রশ্নের সূচকটি ব্যবহার করার চেষ্টা করছি কারণ আমি উচ্চ Handler_read_rndএবং Handler_read_rnd_nextমানগুলিতে চলে আসছি ।
আপনার যদি অন্য কোনও তথ্যের প্রয়োজন হয় তবে আমি এটি পোস্টও করতে পারি।
WHERE 1=1আপনার দ্বিতীয় ক্যোয়ারিতে যুক্ত করার চেষ্টা করুন ।