আমরা একটি ওয়েবসাইট চালিত করি যার একটি টেবিলে 250 মিমি সারি রয়েছে এবং অন্য সারণীতে আমরা এটিতে যোগ দিয়েছি বেশিরভাগ প্রশ্নের জন্য কেবল 15 এমএম সারি রয়েছে।
নমুনা কাঠামো:
MasterTable (Id, UserId, Created, Updated...) -- 15MM Rows
DetailsTable (Id, MasterId, SomeColumn...) -- 250MM Rows
UserTable (Id, Role, Created, UserName...) -- 12K Rows
এই সমস্ত টেবিলের বিরুদ্ধে আমাদের নিয়মিত কয়েকটি প্রশ্ন করতে হবে। একটি হ'ল নিখরচায় ব্যবহারকারীদের জন্য পরিসংখ্যান দখল করা (free 10 কে ফ্রি ব্যবহারকারী)।
Select Count(1) from DetailsTable dt
join MasterTable mt on mt.Id = dt.MasterId
join UserTable ut on ut.Id = mt.UserId
where ut.Role is null and mt.created between @date1 and @date2
সমস্যা হ'ল সমস্যাটি হ'ল এই কোয়েরিটি কোথাও কোথাও অনেক আগে দীর্ঘ মিলন ঘটায় এই ঘটনার সাথে মিলিত হওয়ার কারণে।
এক্ষেত্রে যোগদানের পরিবর্তে বা সম্ভবত ব্যবহারের পরে চাকাগুলি ব্যবহার করা কি বুদ্ধিমানের কাজ হবে where column in(...)
?