SQL භාෂාවේ ලවලත් හැකියාව නිසා, එකම ප්රශ්නයෙන් පාරමිතික නොවන හෝ පාරමිතික පරාමිතියක් සමඟ දත්ත සොයාගැනීමේ කාර්යයන් සම්පූර්ණ කළ හැකිය. මෙය විශේෂයෙන් පේජින් (pagination) අවශ්යතාවයක් ඇති වෙලාවේ ඉතා ප්රයෝජනවත් වේ.
ලේඛකයා MongoDB සහ PostgreSQL අතර පේජින් පරීක්ෂණයක් කරමින්, OFFSET භාවිතා නොකර, අවසන් ලැබූ timestamp අගය භාවිතා කර ඊළඟ ලැයිස්තුව ලබා ගැනීමේ ක්රමයක් ඉදිරිපත් කරයි. MongoDB හි මෙම ලොජික් යෙදුමේ පාර්ශ්වය තුළ සිදු කරයි, එයින් ප්රශ්න දෙකක් (කොටසක් පරාමිතිය රහිත, තවත් එක පරාමිතිය සමඟ) නිර්මාණය වේ.
PostgreSQL තුළ ඒකකම ප්රශ්නයක් භාවිතා කර, SELECT * FROM orders WHERE $1::timestamptz IS NULL OR "timestamp" > $1 ORDER BY "timestamp" ASC LIMIT $2; ලෙස ලියන විට, $1 NULL නම් සියළු පේළි ආපසු ලැබේ, නැතිනම් දී ඇති timestamp අගය මත පමණක් සීමා කරයි. මෙය සරලයි, නමුත් PostgreSQL යේ query planner එක කාලීනව custom plan හෝ generic plan යන දෙකෙන් එකක් තෝරයි.
ලේඛකයා 5 මිලියන පේළි සහිත orders වගුවක් සෑදීමෙන් පසු, custom plan එකේ index scan එකෙන් 10 පේළි පමණ ඉක්මනින් (0.04 ms) ලබා ගන්නා බව පෙන්වා දෙයි. එයට විරුද්ධව, generic plan එක භාවිතා කළ විට, index scan එකේ filter කොන්දේසි නොමැතිව, 71 ms කාලයක් ගත වේ. මෙය planner එක පරාමිතියේ අගය නොදැනීම නිසා සිදුවේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණ ශිෂ්යයන්, ඩිවලපර්ලා සහ ව්යාපාරිකයින්ට මේ අත්දැකීමේ අර්ථය විශාලය:
- ඉගෙනීමේ වාසිය: SQL query optimization පිළිබඳ ප්රායෝගික උදාහරණයක් ලබා ගනිමින්, පාඨමාලා හෝ වැඩමුළු තුළ real‑world case study ලෙස භාවිතා කළ හැක.
- ඉංජිනේරු කාර්ය සාධනය: PostgreSQL භාවිතා කරන ස්ථානික් සහ cloud‑based පද්ධතිවලදී, generic plan වලින් පැන නැගෙන්න index‑based custom plan භාවිතා කිරීමෙන් latency අඩු කර ගත හැක.
- ව්යාපාරික ප්රතිලාභ: අධික ගනුදෙනු දත්ත (orders) සකස් කරන e‑commerce, fintech වැනි ක්ෂේත්රවල පේජින් කාර්ය සාධනය ඉහළ ගෙන, පාරිභෝගික අත්දැකීමේ ගුණාත්මකත්වය වැඩි කරයි.
ඉදිරියේදී, PostgreSQL 14+ හි plan_cache_mode සැකසීමේ විකල්පය නිසි ලෙස භාවිතා කර, අවශ්ය විට custom plan ලබා දීමේ පාලනය කළ හැක. එමඟින් පද්ධතියේ සම්පූර්ණ කාර්ය සාධනය නිරන්තරයෙන් අධිෂ්ඨානය කළ හැක.
එබැවින්, SQL query එකක නිමැවුම පමණක් නොව, එහි execution plan එකේ තේරුමද අවධානයෙන් පරීක්ෂා කර, ශ්රී ලංකාවේ තාක්ෂණික පරිසරයට ගුණාත්මක දත්ත ප්රොසෙසිං ක්රමයක් ගොඩනඟා ගත හැක.