Indexes & Optimization
📘 কুয়েরি দ্রুত করার কৌশল।
🌐 Make queries fast.
🗄️
1
ধারণা · Concept
কী এবং কেন📘 বাংলা ব্যাখ্যা:
কুয়েরি দ্রুত করার কৌশল।
কুয়েরি দ্রুত করার কৌশল।
🌐 English:
Make queries fast.
Make queries fast.
🗂 কোথায় পড়ে
২. ডেটা বিশ্লেষণ → এসকিউএল ও ডাটাবেস → Indexes & Optimization
🎯 এই শাখার লক্ষ্য
Joins, aggregates, window functions, schema design
🧰 টুলস
MySQL, PostgreSQL, SQLite
🪜
ধাপে ধাপে শিখুন · Step-by-step
কেন শিখবেন → কীভাবে শিখবেন → উদাহরণ → সাধারণ ভুল💡 কেন গুরুত্বপূর্ণ?
লক্ষ সারির টেবিলে কুয়েরি সেকেন্ডের বদলে মিলিসেকেন্ডে।
- ধাপ 1ইনডেক্স = বইয়ের সূচি; WHERE, JOIN, ORDER BY-র কলামে তৈরি করুন: CREATE INDEX idx ON cases(district, date)
- ধাপ 2EXPLAIN দিয়ে দেখুন কুয়েরি ইনডেক্স ব্যবহার করছে কিনা
- ধাপ 3SELECT * এড়ান, দরকারি কলাম নিন; কলামে ফাংশন দিলে ইনডেক্স কাজ করে না
- ধাপ 4বেশি ইনডেক্স = INSERT/UPDATE ধীর—ভারসাম্য রাখুন
🧪 বাস্তব উদাহরণ
WHERE YEAR(date)=2024 এর বদলে WHERE date >= '2024-01-01' AND date < '2025-01-01' — ইনডেক্স ব্যবহার হয়।
⚠️ সাধারণ ভুল
প্রতিটি কলামে ইনডেক্স দেওয়া।
🔑 মূল শব্দ (Key terms)
indexB-treeEXPLAINquery planoptimization
3
সাব-টপিক ও বিস্তারিত · Sub-topics
টপিক → সাব-টপিক → সাব-সাব টপিক10.1 ইনডেক্স10.1.1 B-Tree দিয়ে দ্রুত খোঁজ
10.2 EXPLAIN10.2.1 কুয়েরি প্ল্যান
10.3 ভালো অভ্যাস10.3.1 SELECT * এড়ানো
🎬
ভিডিও · Videos (বাংলা ও English)
ক্লিক করলে সাইটের ভেতরেই ফ্লোটিং প্লেয়ারে চলবে · ভিডিও MySQL-এ সংরক্ষিত📺 আরও খুঁজুন
💻
হাতে-কলমে · Try it (SQL & Databases)
এডিট করে Run চাপুন · Ctrl+Enterimport sqlite3
con=sqlite3.connect(":memory:")
con.executescript('''CREATE TABLE s(id INT, name TEXT, dept TEXT, marks INT);
INSERT INTO s VALUES(1,'Rafi','CSE',88),(2,'Mim','EEE',92),(3,'Tanvir','CSE',75),(4,'Nabila','EEE',81),(5,'Sakib','CSE',95);''')
q='''SELECT name, dept, marks, RANK() OVER(PARTITION BY dept ORDER BY marks DESC) AS rnk,
ROUND(AVG(marks) OVER(PARTITION BY dept),1) AS dept_avg FROM s ORDER BY dept, rnk'''
for r in con.execute(q): print(r)❓
সেল্ফ-চেক · Self check
1. “B-Tree দিয়ে দ্রুত খোঁজ” — এটি কোন সাব-টপিকের বর্ণনা?
2. “কুয়েরি প্ল্যান” — এটি কোন সাব-টপিকের বর্ণনা?
3. “SELECT * এড়ানো” — এটি কোন সাব-টপিকের বর্ণনা?
🔗
সংযুক্ত কনসেপ্ট · Connected concepts
এই শাখার অন্যান্য অংশ
1. Relational Database Concepts2. SELECT & WHERE3. ORDER BY & LIMIT4. Aggregate Functions5. GROUP BY & HAVING6. SQL Joins7. Subqueries8. Window Functions9. CTE10. Indexes & Optimization11. Normalization12. MySQL with Python