1. හැඳින්වීම
1.1 JSON හි වැදගත්කම
නූතන වෙබ් සංවර්ධනයේදී, දත්ත හුවමාරුව අධික සංකීර්ණ වෙමින් පවතී. JSON (JavaScript Object Notation) එහි සැහැල්ලු සහ ව්යුහගත ආකෘතිය නිසා දත්ත හුවමාරුව සහ ගබඩාව සඳහා විශාල ලෙස භාවිතා වේ. සංස්කරණ 5.7 සිට, MySQL JSON දත්ත වර්ගය සඳහා සහාය දක්වා ඇති අතර, දත්තගබඩාව තුළ JSON දත්ත සෘජුවම කළමනාකරණය කිරීම පහසු කරයි.
1.2 MySQL හි JSON භාවිතය
මෙම ලිපිය MySQL හි JSON සම්බන්ධයෙන් විස්තරාත්මක පැහැදිලි කිරීමක් සපයයි, මූලික මෙහෙයුම්, කාර්ය සාධනය සලකා බැලීම් සහ ප්රායෝගික භාවිතා තාක්ෂණයන් ආවරණය කරමින්. ඔබ ආරම්භකයෙකු වුවද උසස් පරිශීලකයෙකු වුවද, MySQL හි JSON ඵලදායී ලෙස භාවිතා කිරීම සඳහා අත්යවශ්ය දැනුම මෙය ලබා දෙයි.
2. MySQL හි JSON කුමක්ද?
2.1 JSON මූලික
JSON යනු key-value යුගල ලෙස දත්ත ව්යුහගත කරන සරල ආකෘතියකි. එහි සැහැල්ලු ස්වභාවය සහ පාඨකත්වය නිසා වෙබ් API සහ දත්ත හුවමාරුව සඳහා එය විශාල ලෙස භාවිතා වේ. MySQL හි, ඔබට JSON දත්ත වර්ගය භාවිතයෙන් දත්තගබඩාව තුළ JSON දත්ත සංරක්ෂණය කිරීමට සහ විපර්යාස කිරීමට හැකිය.
2.2 MySQL හි JSON දත්ත වර්ගය
MySQL 5.7 හි හඳුන්වා දුන් JSON දත්ත වර්ගය LONGBLOB හෝ LONGTEXT හි සමාන තැටි අවකාශයක් ඉල්ලා සිටියි. දත්ත අඛණ්ඩතාව තහවුරු කිරීම සඳහා, MySQL ඇතුළත් කිරීමේදී JSON ලේඛන যාන්ත්රණය කරයි. මෙය දත්තගබඩාවේ අවලංගු JSON දත්ත සංරක්ෂණය වීම වැළැක්වීමට උපකාරී වේ.
2.3 JSON සඳහා පොදු භාවිතා අවස්ථා
MySQL හි JSON භාවිතා කිරීමේ ප්රධාන අවස්ථා පහත පරිදි වේ:
- සංකීර්ණ දත්ත ව්යුහ සංරක්ෂණය
- API ප්රතිචාර සංරක්ෂණය විපර්යාසයකින් තොරව
- විකාශනය වන schemas සහිත දත්ත කළමනාකරණය
3. මූලික MySQL JSON මෙහෙයුම්
3.1 JSON තීරුවක් සෑදීම
JSON දත්ත සංරක්ෂණය සඳහා තීරුවක් සෑදීමට, පහත පරිදි JSON දත්ත වර්ගය විශේෂණය කරන්න:
CREATE TABLE json_data (
doc JSON
);
3.2 JSON දත්ත ඇතුළත් කිරීම
පහත පරිදි INSERT ප්රකාශනය භාවිතයෙන් JSON දත්ත ඇතුළත් කරන්න. MySQL ඇතුළත් කිරීමේදී දත්ත වලංගු JSON ආකෘතියක් ද යන්න පරීක්ෂා කරයි; එය නොවේ නම් දෝෂයක් ආපසු එවයි.
INSERT INTO json_data(doc) VALUES ('{"a": {"b": ["c", "d"]}, "e": "f"}');
ඔබට key-value යුගලවලින් JSON වස්තුවක් ජනනය කිරීමට JSON_OBJECT ශ්රිය භාවිතා කළ හැක.
INSERT INTO json_data(doc) VALUES (JSON_OBJECT('key1', 'value1', 'key2', 'value2'));
3.3 JSON දත්ත විමර්ශනය
ඇතුළත් කළ JSON දත්ත ලබා ගැනීමට, JSON_EXTRACT ශ්රිය භාවිතා කරන්න. මෙම ශ්රිය JSON වස්තුව තුළ විශේෂිත මාර්ගයකින් දත්ත නිස්සාරණය කරයි.
SELECT * FROM json_data WHERE JSON_EXTRACT(doc, '$.e') = 'f';
ඔබට කෙටි -> ක්රියාකාරකයද භාවිතා කළ හැක.
SELECT * FROM json_data WHERE doc->'$.e' = 'f';
3.4 JSON දත්ත යාවත්කාලීන කිරීම
JSON දත්ත අර්ධීය ලෙස යාවත්කාලීන කිරීමට, JSON_SET ශ්රිය භාවිතා කරන්න. මෙම ශ්රිය විශේෂිත මාර්ගය යාවත්කාලීන කර නව JSON වස්තුවක් ආපසු එවයි.
UPDATE json_data SET doc = JSON_SET(doc, '$.a.b[0]', 'new_value');
4. කාර්ය සාධනය සලකා බැලීම්
4.1 ඇතුළත් කිරීමේ කාර්ය සාධනය
MySQL JSON තීරුවකට දත්ත ඇතුළත් කිරීමේදී, TEXT වර්ගය සහ JSON වර්ගය අතර කාර්ය සාධනය වෙනස්කම් අඩුය. වර්තමානයේ පරීක්ෂණවලින් පෙනී යන්නේ JSON වර්ගය භාවිතයෙන් 50,000 වාර්තා ඇතුළත් කිරීම TEXT වර්ගය භාවිතයෙන් සමාන කාලයකින් අවසන් වන බවයි.
4.2 යාවත්කාලීන කිරීමේ කාර්ය සාධනය
JSON දත්ත යාවත්කාලීන කිරීමේදී, JSON_SET භාවිතයෙන් කාර්යක්ෂම අර්ධීය යාවත්කාලීන කිරීම් සක්රිය වේ. සම්පූර්ණ ලේඛනය ආවරණය කිරීම වෙනුවට, ඔබට විශේෂිත ක්ෂේත්ර පමණක් යාවත්කාලීන කළ හැකි අතර, එය කාර්ය සාධනය වැඩි දියුණු කරයි. 50,000 වාර්තා අර්ධීය ලෙස යාවත්කාලීන කිරීමේදී පවා, JSON_SET කාර්යක්ෂමව ක්රියාත්මක වේ.

5. MySQL හි JSON භාවිතය සඳහා හොඳම පුරුදු
5.1 JSON සුදුසු ලෙස භාවිතා කළ යුත්තේ කවදාද
JSON සංකීර්ණ දත්ත ව්යුහ සහ විකාශනය වන schemas සහිත දත්ත සංරක්ෂණය සඳහා සුදුසුය. කෙසේ වෙතත්, ඉහළ ව්යුහගත දත්ත සඳහා, සම්මත සබඳතා වගු භාවිතා කිරීම සාමාන්යයෙන් වඩා කාර්යක්ෂමය.
5.2 JSON දත්ත සුචිකරණය
MySQL හි, Virtual Columns භාවිතයෙන් JSON තීරු මත සුචිකරණ සෑදිය හැක. මෙය JSON දත්ත සමඟ වැඩ කිරීමේදී විමර්ශනය කාර්ය සාධනය වැඩි දියුණු කිරීමට ඉඩ සලසයි.
ALTER TABLE json_data
ADD COLUMN e_value VARCHAR(255) AS (doc->'$.e'),
ADD INDEX (e_value);
5.3 පොදු වැරදි වලින් වැළැක්වීම
- JSON තීරුවල අධික භාවිතය වැළැක්වීම සහ relational දත්ත ගබඩා ශක්තියන් ප්රයෝජනය ගැනීම.
- කාර්යක්ෂම විමසුම් සඳහා සුදුසු ඉන්ඩෙක්ස් සැකසීම.
- JSON දත්ත අධික විශාල වීම වැළැක්වීම, අවශ්ය විට දත්ත සාමාන්යීකරණය කිරීම.
6. MySQL හි උසස් JSON ක්රියාකාරකම්
6.1 අතිරේක JSON ක්රියාකාරකම්
MySQL JSON දත්ත සංස්කරණය සඳහා බොහෝ ක්රියාකාරකම් ලබා දේ. උදාහරණයක් ලෙස, JSON_APPEND භාවිතයෙන් JSON අරේකට නව දත්ත එක් කළ හැක, හෝ JSON_REMOVE භාවිතයෙන් විශේෂිත ක්ෂේත්ර ඉවත් කළ හැක.
-- Append data
UPDATE json_data SET doc = JSON_APPEND(doc, '$.a.b', 'new_element');
-- Remove data
UPDATE json_data SET doc = JSON_REMOVE(doc, '$.a.b[0]');
6.2 JSON සමඟ SQL ක්රියාකාරකම් එකතු කිරීම
JSON ක්රියාකාරකම් සාම්ප්රදායික SQL ක්රියාකාරකම් සමඟ එකතු කර සංකීර්ණ විමසුම් ගොඩනැගිය හැක. උදාහරණයක් ලෙස, GROUP BY හෝ ORDER BY වාක්යයන්හි JSON දත්ත භාවිත කළ හැක.
SELECT JSON_EXTRACT(doc, '$.e') AS e_value, COUNT(*)
FROM json_data
GROUP BY e_value;
7. නිගමනය
මෙම ලිපියේ, MySQL හි මූලික JSON මෙහෙයුම් සිට උසස් කාර්යයන් දක්වා සියල්ල ආවරණය කර ඇත. MySQL හි JSON විශේෂාංග භාවිතයෙන් ඔබට දත්ත ගබඩාවේ සංකීර්ණ දත්ත ව්යුහයන් පහසුවෙන් ගබඩා කර සංස්කරණය කළ හැක. මෙහි සඳහන් කාර්ය සාධන සැලකිලි සහ හොඳම පුරුදු පිළිබඳ දැනුම යොදා ගනිමින් වඩා කාර්යක්ෂම දත්ත කළමනාකරණයක් ලබා ගන්න.


