Query Execution Plan এবং Profiling হল ArangoDB-তে কোয়েরি পারফরম্যান্স বিশ্লেষণের জন্য গুরুত্বপূর্ণ টুলস। এগুলি ডেটাবেসের কার্যক্ষমতা অপটিমাইজ করার জন্য সাহায্য করে, বিশেষত যখন বড় আকারের ডেটাবেস বা জটিল কোয়েরি চালানো হয়।
Query Execution Plan হল কোয়েরি কিভাবে কার্যকরভাবে সম্পন্ন হবে তার একটি বিশদ রূপরেখা। এটি ডেটাবেসকে জানায় কোয়েরি চালানোর সময় কোন ইনডেক্স ব্যবহার হবে, ডেটা কোথা থেকে আসবে, এবং কোন ধাপে ডেটা প্রসেস করা হবে।
_explain()
ফাংশন ব্যবহার করে কোয়েরির Execution Plan বের করা যায়।
db._explain(`
FOR user IN users
FILTER user.age > 25
RETURN user
`);
উদাহরণ Output:
{
"plans": [
{
"nodes": [
{
"type": "SingletonNode",
"id": "1",
"estimatedCost": 0.1,
"estimatedNrItems": 1,
"dependencies": [],
"direction": "in",
"db": "users"
},
{
"type": "CalculationNode",
"id": "2",
"estimatedCost": 0.1,
"estimatedNrItems": 5,
"dependencies": [ "1" ]
},
{
"type": "IndexNode",
"id": "3",
"estimatedCost": 0.5,
"estimatedNrItems": 20,
"dependencies": [ "2" ],
"index": {
"type": "hash",
"fields": ["age"]
}
}
]
}
]
}
Key Points:
Query Profiling হল কোয়েরির কার্যক্রম পর্যবেক্ষণ করার প্রক্রিয়া, যেখানে কোয়েরি সম্পাদনায় সময় এবং সম্পদ খরচ ট্র্যাক করা হয়। এটি ডেভেলপারদেরকে কোয়েরি অপটিমাইজেশনের জন্য সঠিক সিদ্ধান্ত নিতে সাহায্য করে।
কোয়েরি প্রোফাইলিং সক্রিয় করতে, PROFILER
মোড ব্যবহার করা হয়। এটি কোয়েরি চালানোর সময় সময়, I/O, এবং CPU ব্যবহারের পরিসংখ্যান দেয়।
db._profile(`
FOR user IN users
FILTER user.age > 25
RETURN user
`);
প্রোফাইলিং ফলাফল:
{
"query": "FOR user IN users FILTER user.age > 25 RETURN user",
"executionTime": 0.004,
"writesExecuted": 0,
"writesIgnored": 0,
"scannedFull": 1000,
"scannedIndex": 500,
"filtered": 200
}
Key Points:
FILTER
এবং SORT
অপারেশনে ইনডেক্স ব্যবহার করা কোয়েরি পারফরম্যান্স উন্নত করতে সাহায্য করবে।Features | Execution Plan | Profiling |
---|---|---|
ব্যবহার | কোয়েরি চলার পরিকল্পনা দেখায় | কোয়েরি চলার সময় ট্র্যাক করে |
Key Metrics | In-memory operation, nodes | Execution time, I/O stats |
Optimization Focus | Index usage, query steps | Execution time, efficiency |
When to Use | কোয়েরি অপটিমাইজেশন পরিকল্পনা | কোয়েরি পারফরম্যান্স বিশ্লেষণ |
Query Execution Plan এবং Profiling হল ArangoDB-তে কোয়েরি অপটিমাইজেশনের জন্য গুরুত্বপূর্ণ টুল। Execution Plan কোয়েরির কার্যকরী ধাপ এবং ইনডেক্স ব্যবহারের বিশ্লেষণ দেয়, এবং Profiling কোয়েরি চালানোর সময় সময় এবং রিসোর্স ব্যবহার পর্যালোচনা করে। এগুলোর মাধ্যমে কোয়েরির কার্যকারিতা উন্নত করা সম্ভব।
common.read_more