ප්ලග්-ඉන් පුස්තකාලයක් ලෙස නිර්මාණය කරන ලද සැහැල්ලු DBMS SQLite 3.45 නිකුත් කිරීම ප්රකාශයට පත් කර ඇත. SQLite කේතය පොදු වසමක් ලෙස බෙදා හරිනු ලැබේ, i.e. සීමාවකින් තොරව සහ ඕනෑම කටයුත්තක් සඳහා නොමිලේ භාවිතා කළ හැක. SQLite සංවර්ධකයින් සඳහා මූල්ය සහාය සපයනු ලබන්නේ Bentley, Bloomberg, Expensify සහ Navigation Data Standard වැනි සමාගම් ඇතුළත් විශේෂයෙන් නිර්මාණය කරන ලද සමුහයක් මගිනි.
ප්රධාන වෙනස්කම්:
- JSON ආකෘතිය සමඟ වැඩ කිරීම සඳහා වන සියලුම SQL කාර්යයන් නැවත ලියා නව අභ්යන්තර JSONB parse ගස් ආකෘතියට මාරු කර ඇත, එය අනුක්රමික කර ඇති අතර JSON අගයන් භාවිතා කරන විට නැවත නැවත විග්රහ කිරීම වළක්වා ගැනීමට දත්ත ගබඩාවේ ගබඩා කළ හැක. JSON ජනන ශ්රිතවල නව අනුවාද දැන් පෙළ ආකෘතිය වෙනුවට JSONB ද්විමය ආකෘතිය ජනනය කරයි. json_valid() ශ්රිතයට විකල්ප දෙවන තර්කයක් එක් කර ඇත, එමගින් ඔබට වලංගු JSON හි ලක්ෂණ තීරණය කරන bit mask එකක් සඳහන් කළ හැක (උදාහරණයක් ලෙස, ඔබ 0x04 සඳහන් කරන්නේ නම්, JSONB blob එකක් වලංගු ලෙස හඳුනාගනු ඇත, ඔබ සඳහන් කරන්නේ නම් 0x01, RFC-8259 ආකෘතියෙන් JSON පෙළ යවන්න, සහ ඔබ 0x05 සඳහන් කරන්නේ නම්, විකල්ප දෙකම ).
- අභිරුචි ටෝකනයිසර් භාවිතයට ඉඩ සලසමින් සම්පූර්ණ පෙළ සෙවීම සඳහා භාවිතා කරන FTS5 අතථ්ය වගුව වෙත tokendata විකල්පය එක් කර ඇත.
- පෙරනිමියෙන්, SQLITE_DIRECT_OVERFLOW_READ ප්රශස්තිකරණය සක්රීය කර ඇති අතර, එහි සම්මත b-tree පිටු ප්රමාණයට වඩා විශාල පිටාර ගැලීමේ පිටු හැඹිලිය මග හරිමින් ගොනුවෙන් කෙලින්ම කියවනු ලැබේ. ගොඩනැගීමේදී එය අක්රිය කිරීමට, ඔබට "-DSQLITE_DIRECT_OVERFLOW_READ=0" විකල්පය භාවිතා කළ හැක.
- Query Planner විසින් සංක්රාන්ති සීමාවන් ප්රශස්ත කිරීමේ කාර්යක්ෂමතාව වැඩි දියුණු කර ඇති අතර විශ්ලේෂණය කිරීමේ මෙහෙයුමක් සිදු කරන විට දුර්වල ගුණාත්මක බවින් යුත් දර්ශක නොසලකා හැරීමේ හැකියාව වැඩි දියුණු කර ඇත.
- විධාන රේඛා අතුරුමුහුණත වින්ඩෝස් වේදිකාවේ UTF-8 කේතනය කළ අන්තර්ගතයන් වැඩි දියුණු කර ඇත. ".dump" ස්ක්රිප්ට් වාදනය කරන විට සහ ".dbconfig defensive off" සහ ".dbconfig dqs_dll on" වැනි සැකසුම් වලට සුදුසු වෙනස්කම් සිදු කරන විට CLI භාවිතය ස්වයංක්රීයව හඳුනාගැනීම සබල කර ඇත.
- SQLITE_RESULT_SUBTYPE ගුණාංගය යෙදුම් පැත්තේ නිර්වචනය කරන ලද SQL ශ්රිතවලට එක් කර ඇත, එය ශ්රිතයෙන් sqlite3_result_subtype() ඇමතීමට තර්ක උප වර්ග පරීක්ෂා කිරීමට ඉඩ සලසයි.
අතිරේකව, අපට නව ගනුදෙනු ලොග් කිරීමේ මාදිලියක SQLite හි පර්යේෂණාත්මක ගොඩනැගීම්වල වර්ධනය සටහන් කළ හැකිය - WAL2 (“PRAGMA journal_mode = wal2”), එය එකක් වෙනුවට wal ගොනු දෙකක් (“දත්ත සමුදාය-wal” සහ “database-wal2”) භාවිතා කරයි. . දත්ත ගබඩාවට දත්ත ලිවීමේදී, පළමු wal ගොනුවට නව දත්ත එකතු වේ. පළමු wal ගොනුව ප්රමාණවත් තරම් විශාල ප්රමාණයකට ළඟා වුවහොත්, එය දෙවන ගොනුවට ලිවීමට මාරු වේ. දෙවන wal ගොනුවට මාරු වීමෙන් පසු, පළමු එක වෙනස්කම් සිදු කිරීම (පරීක්ෂා කිරීම) සහ නැවත ලිවීම සඳහා ලබා ගත හැකිය. ඒ අනුව, දෙවන wal ගොනුව විශාල ප්රමාණයකට ළඟා වූ විට, එය පළමු එකට මාරු වේ, යනාදිය, ගනුදෙනුව දිගු කාලයක් හෝ දිගු කියවීම් ක්රියාවලීන් සිදු නොවන අවස්ථාවන්හිදී wal ගොනුවේ පාලනයකින් තොරව වර්ධනය වීමේ ගැටලුව විසඳයි. ඉටු කළා.
මූලාශ්රය: opennet.ru
