📚 Query Optimization क्या है?
🔑 Memory में रखें (Definition)
Query Optimization का मतलब है — SQL क्वेरी को इस तरह से लिखना और सुधारना कि वह तेजी से execute हो और कम resources (CPU, Memory, Disk IO) का उपयोग करे।
उद्देश्य:
Execution time को कम करना
Performance को बेहतर बनाना
Server load को कम करना
🔧 Query Optimization कैसे करते हैं?
SQL Server में Query Optimization के कई तरीके होते हैं, नीचे कुछ प्रमुख तरीके दिए गए हैं:
1️) सही Index का उपयोग करें
👉 अगर आपकी टेबल में बहुत सारे rows हैं, तो Index बहुत जरूरी होता है।
🔸 इससे WHERE, ORDER BY, और JOIN queries तेजी से execute होती हैं।
CREATE INDEX idx_EmployeeName ON Employees(EmployeeName);
2️) Only जरूरी Columns का SELECT करें
❌ गलत तरीका:
SELECT * FROM Employees;
✅ सही तरीका:
SELECT EmployeeID, FirstName, LastName FROM Employees;
👉 SELECT * की जगह specific columns का चुनाव करें ताकि unnecessary data load न हो।
3️) Joins का सही उपयोग करें
👉 Unnecessary joins से बचें और proper indexed columns पर joins करें।
SELECT e.Name, d.DepartmentName
FROM Employees e
JOIN Departments d ON e.DepartmentID = d.ID;
4️) WHERE Clause का उपयोग करें
👉 जितना हो सके result को filter करें:
SELECT * FROM Orders WHERE OrderDate >= '2024-01-01';
5️) Execution Plan देखें (Analyze करें)
👉 Query लिखने के बाद "Actual Execution Plan" या "Estimated Execution Plan" चेक करें।
SQL Server Management Studio (SSMS) में:
Ctrl + M दबाएँ और फिर Query Execute करें।
यह बताएगा कि कौन-कौन से step में ज्यादा समय लग रहा है।
6️) Temporary Tables या CTE का Use करें
जब complex query हो, तो उसे छोटे-छोटे भागों में तोड़ें:
WITH Emp AS (
SELECT EmployeeID, DepartmentID FROM Employees WHERE Status = 'Active'
)
SELECT e.EmployeeID, d.DepartmentName
FROM Emp e
JOIN Departments d ON e.DepartmentID = d.ID;
7️) Statistics और Index Rebuild करें
👉 Time-to-time statistics update और index rebuild करना जरूरी होता है:
-- Update statistics
UPDATE STATISTICS Employees;
-- Rebuild index
ALTER INDEX ALL ON Employees REBUILD;
🎯 Interview Questions & Answers
-
Q:1 Query Optimization क्या होता है?
Ans: Query Optimization एक प्रक्रिया है जिसमें SQL Query को इस तरह से सुधारा जाता है कि वह कम समय में execute हो और system resources का कम उपयोग करे। -
Q:2 SQL Server में Query को Optimize करने के 3 तरीके बताइए।
Ans: 1) Index का सही उपयोग
2) केवल जरूरी Columns को SELECT करना
3) Execution Plan देखकर analysis करना
-
Q3: Execution Plan क्या होता है?
Ans: Execution Plan SQL Server द्वारा use किया गया एक roadmap है, जो बताता है कि query को execute करने में कौन-कौन से step कितने costly हैं। - 📝 Bonus Tips ✅ Views में भारी Joins से बचें ✅ Subqueries को simplify करें ✅ SQL Profiler या DMVs से slow queries find करें
📘 यह पोस्ट Job Oriented Academy द्वारा Query Optimization concept को detail में समझाने के लिए तैयार की गई है।
0 Comments