PostgreSQL 11: Postgres 9.6 සිට Postgres 11 දක්වා කොටස් කිරීමේ පරිණාමය

සැමට සුබ සිකුරාදාවක් වේවා! පාඨමාලාව දියත් කිරීමට පෙර ඉතිරිව ඇත්තේ අඩු කාලයකි "සම්බන්ධතා DBMS", එබැවින් අද අපි මාතෘකාව පිළිබඳ තවත් ප්රයෝජනවත් ද්රව්යයක පරිවර්තනය බෙදා ගනිමු.

සංවර්ධන වේදිකාවේ PostgreSQL 11 වගු කොටස් කිරීම වැඩිදියුණු කිරීම සඳහා ආකර්ෂණීය වැඩ කිහිපයක් සිදු කර ඇත. කොටස් කිරීමේ වගු - මෙය බොහෝ කාලයක් තිස්සේ PostgreSQL හි පැවති ශ්‍රිතයකි, නමුත් එය කථා කිරීමට, එය ඉතා ප්‍රයෝජනවත් කාර්යයක් බවට පත් වූ 10 වන අනුවාදය දක්වා අත්‍යවශ්‍යයෙන්ම නොතිබුණි. අපි කලින් ප්‍රකාශ කළේ වගු උරුමය යනු කොටස් කිරීම අපගේ ක්‍රියාත්මක කිරීම වන අතර මෙය සත්‍යයකි. මෙම ක්‍රමය පමණක් ඔබට බොහෝ කාර්යයන් අතින් සිදු කිරීමට බල කෙරුනි. උදාහරණයක් ලෙස, ඔබට INSERT අතරතුර කොටස් වලට tuples ඇතුල් කිරීමට අවශ්‍ය නම්, ඔබ වෙනුවෙන් මෙය කිරීමට ප්‍රේරක වින්‍යාස කිරීමට ඔබට සිදුවේ. උරුමය හරහා කොටස් කිරීම ඉතා මන්දගාමී වූ අතර අමතර ක්‍රියාකාරීත්වයක් වර්ධනය කිරීමට අපහසු විය.

PostgreSQL 10 හි, පැරණි උරුම ක්‍රමය භාවිතයෙන් විසඳිය නොහැකි බොහෝ ගැටලු විසඳීමට නිර්මාණය කර ඇති විශේෂාංගයක් වන “ප්‍රකාශන කොටස්කරණය” අපි දුටුවෙමු. මෙය අපට දත්ත තිරස් අතට බෙදීමට ඉඩ සලසන වඩා බලවත් මෙවලමක් වෙත යොමු විය!

විශේෂාංග සංසන්දනය

PostgreSQL 11 මඟින් කාර්ය සාධනය වැඩි දියුණු කිරීමට සහ කොටස් කළ වගු යෙදුම් සඳහා වඩාත් විනිවිද පෙනෙන බවට පත් කිරීමට උපකාරී වන ආකර්ෂණීය නව විශේෂාංග සමූහයක් හඳුන්වා දෙයි.

PostgreSQL 11: Postgres 9.6 සිට Postgres 11 දක්වා කොටස් කිරීමේ පරිණාමය
PostgreSQL 11: Postgres 9.6 සිට Postgres 11 දක්වා කොටස් කිරීමේ පරිණාමය
PostgreSQL 11: Postgres 9.6 සිට Postgres 11 දක්වා කොටස් කිරීමේ පරිණාමය
1. සීමා කිරීමේ ව්‍යතිරේක භාවිතා කිරීම
2. නෝඩ් පමණක් එකතු කරයි
3. කොටස් නොකරන ලද වගුවක් සඳහා පමණක්
4. දර්ශකවල කොටසෙහි සියලුම යතුරු තීරු අඩංගු විය යුතුය
5. දෙපැත්තේ ඇති කොටස් සීමා කිරීම් ගැලපිය යුතුය

ඵලදායිතාව

අපටත් මෙහි හොඳ ආරංචියක් ඇත! නව ක්‍රමයක් එකතු කර ඇත කොටස් මකා දැමීම. මෙම නව ඇල්ගොරිතමයට විමසුම් තත්ත්වය දෙස බැලීමෙන් සුදුසු කොටස් තීරණය කළ හැක WHERE. පෙර ඇල්ගොරිතම, අනෙක් අතට, කොන්දේසිය සපුරාලිය හැකිද යන්න තීරණය කිරීම සඳහා එක් එක් කොටස පරීක්ෂා කර ඇත WHERE. මෙහි ප්රතිඵලයක් වශයෙන් කොටස් සංඛ්යාව වැඩි වීම නිසා සැලසුම් කාලයෙහි අතිරේක වැඩි වීමක් සිදු විය.

9.6 හි, උරුමය හරහා කොටස් කිරීමත් සමඟ, ටියුපල් නිවැරදි කොටසට ඇතුළු කිරීම සඳහා IF ප්‍රකාශ මාලාවක් අඩංගු ප්‍රේරක ශ්‍රිතයක් ලිවීමෙන් සාමාන්‍යයෙන් සිදු කරන ලදී. මෙම කාර්යයන් ක්‍රියාත්මක කිරීමට ඉතා ප්‍රමාද විය හැක. 10 අනුවාදයේ ප්‍රකාශන කොටස් එකතු කිරීමත් සමඟ මෙය වඩා වේගයෙන් ක්‍රියා කරයි.

කොටස් 100ක් සහිත කොටස් කළ වගුවක් භාවිතයෙන්, විශාල තීරු 10ක් සහ INT තීරු 1ක් සහිත වගුවකට පේළි මිලියන 5ක් පැටවීමේ කාර්ය සාධනය අපට තක්සේරු කළ හැක.

PostgreSQL 11: Postgres 9.6 සිට Postgres 11 දක්වා කොටස් කිරීමේ පරිණාමය

එක් සුචිගත වාර්තාවක් සොයා ගැනීමට සහ එක් වාර්තාවක් හැසිරවීමට DML ක්‍රියාත්මක කිරීමට මෙම වගුව විමසීමේ කාර්ය සාධනය (ප්‍රොසෙසර 1ක් පමණක් භාවිතා කරමින්):

PostgreSQL 11: Postgres 9.6 සිට Postgres 11 දක්වා කොටස් කිරීමේ පරිණාමය

PG 9.6 සිට එක් එක් මෙහෙයුමේ කාර්ය සාධනය සැලකිය යුතු ලෙස වැඩි වී ඇති බව මෙහිදී අපට දැක ගත හැකිය. ඉල්ලීම් SELECT විශේෂයෙන් විමසුම් සැලසුම් කිරීමේදී බහුවිධ කොටස් බැහැර කිරීමේ හැකියාව ඇති ඒවා වඩාත් හොඳින් පෙනේ. මෙයින් අදහස් කරන්නේ උපලේඛකයාට කලින් කළ යුතු බොහෝ වැඩ මඟ හැරිය හැකි බවයි. උදාහරණයක් ලෙස, අනවශ්ය කොටස් සඳහා මාර්ග තවදුරටත් ගොඩනඟා නැත.

නිගමනය

මේස කොටස් කිරීම PostgreSQL හි ඉතා ප්‍රබල අංගයක් වීමට පටන් ගෙන ඇත. එය ඔබට ඉක්මනින් දත්ත මාර්ගගතව සංදර්ශන කිරීමට සහ මන්දගාමී, දැවැන්ත DML මෙහෙයුම් සම්පූර්ණ වන තෙක් බලා නොසිට එය නොබැඳිව ගැනීමට ඉඩ සලසයි.. මෙයින් අදහස් කරන්නේ අදාළ දත්ත එකට ගබඩා කළ හැකි බවයි, එනම් ඔබට අවශ්‍ය දත්ත වඩාත් කාර්යක්ෂමව ප්‍රවේශ විය හැකි බවයි. මෙම සියලු විශේෂාංග සඳහා වෙහෙස නොබලා වැඩ කළ සංවර්ධකයින්, සමාලෝචකයින් සහ කැපකරුවන් නොමැතිව මෙම අනුවාදයේ වැඩිදියුණු කිරීම් කළ නොහැකි වනු ඇත.
ඔවුන් සැමට ස්තුතියි! PostgreSQL 11 අපූරුයි!

මෙන්න එවැනි කෙටි නමුත් ඉතා රසවත් ලිපියක්. ඔබේ අදහස් බෙදාගන්න සහ ලියාපදිංචි වීමට අමතක නොකරන්න විවෘත දිනය, පාඨමාලා වැඩසටහන විස්තරාත්මකව දක්වා ඇත.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න