1. MySQL TINYINT යනු කුමක්ද?
MySQL හි, TINYINT යනු ඉතා කුඩා පූර්ණ සංඛ්යා ගබඩා කිරීමට භාවිතා කරන දත්ත වර්ගයකි. TINYINT මතකයේ බයිට් 1 (බිට් 8) පමණ භාවිතා කරයි සහ අත්සන් කර ඇති විට -128 සිට 127 දක්වා, අත්සන් නොකළ විට 0 සිට 255 දක්වා අගයන් ගබඩා කළ හැක. TINYINT ප්රධාන වශයෙන් කුඩා සංඛ්යාත්මක අගයන් සහ Boolean සංකේත (flags) කාර්යක්ෂමව කළමනාකරණය කිරීම සඳහා භාවිතා වේ.
TINYINT හි විශේෂාංග
- මතක කාර්යක්ෂමතාව :
TINYINTබයිට් 1ක් පමණ පමණක් භාවිතා කරන බැවින්INTහෝBIGINTවැනි අනෙකුත් පූර්ණ සංඛ්යා වර්ගවලට වඩා වැඩි මතකය ඉතිරි කරයි. - අත්සන් සහ අත්සන් නොකළ විකල්ප : අත්සන් කර ඇති TINYINT නකළ අගයන් කළමනාකරණය කළ හැකි අතර, අත්සන් නොකළ විකල්පය භාවිතා කිරීමෙන් උපරිම ධනාත්මක පරාසය විස්තාර කරයි.
TINYINT භාවිතයේ උදාහරණය
පහත උදාහරණයේ, කුඩා සංඛ්යාත්මක අගයන් සහ සංකේත (flags) කළමනාකරණය කිරීම සඳහා TINYINT වර්ගය භාවිතා කරමින් වගුවක් නිර්මාණය කර ඇත.
CREATE TABLE user_status (
user_id INT PRIMARY KEY,
is_active TINYINT(1) NOT NULL DEFAULT 0
);
මෙම උදාහරණයේ, is_active තීරුව TINYINT(1) ලෙස 정의 කර ඇති අතර පරිශීලකයෙක් සක්රියද යන්න කළමනාකරණය කිරීමට භාවිතා වේ. 0 අගය “අක්රිය” බව, 1 අගය “සක්රිය” බව පෙන්වයි.
2. TINYINT සඳහා ප්රායෝගික භාවිතා
TINYINT කුඩා පූර්ණ සංඛ්යා සහ Boolean අගයන් කළමනාකරණය කිරීම සඳහා සුදුසු දත්ත වර්ගයකි. දත්ත ගබඩා කාර්යක්ෂමතාව වැඩිම කර ගැනීමට සහ ගබඩා භාවිතය අඩු කිරීමට එය පුළුල් ලෙස භාවිතා වේ.
TINYINT එක Boolean අගයක් ලෙස භාවිතා කිරීම
MySQL හි විශේෂිත BOOLEAN වර්ගයක් නොමැති බැවින්, TINYINT(1) සාමාන්යයෙන් Boolean අගයන් කළමනාකරණය කිරීම සඳහා ප්රතිස්ථාපකයක් ලෙස භාවිතා වේ. සාමාන්යයෙන්, 0 “අසත්ය” (false) නියෝජනය කරයි, 1 “සත්ය” (true) නියෝජනය කරයි. මෙම ක්රමය සංකේත (flags) කළමනාකරණය කිරීම පහසු කරයි.
UPDATE user_status SET is_active = NOT is_active WHERE user_id = 1;
මෙම උදාහරණයේ, නියමිත පරිශීලකයා සඳහා is_active අගය මාරු කරයි. මෙය Boolean අගයන් සරලව මාරු කිරීමේ හැකියාව ලබා දෙයි.
කුඩා සංඛ්යාත්මක අගයන් කළමනාකරණය කිරීම
උදාහරණයක් ලෙස, TINYINT ඉතා කුඩා පරාසයක පූර්ණ සංඛ්යා (උදාහරණයක් ලෙස නිෂ්පාදන ගබඩා ගණන) කළමනාකරණය කිරීමේදීද ප්රයෝජනවත් වේ. නිෂ්පාදන ගණන 255 කට අධික නොවන්නේ නම්, TINYINT UNSIGNED භාවිතා කිරීම අත්සන් නොකළ සංඛ්යා පරාසය තුළ ප්රමාණවත් දත්ත කළමනාකරණය සලසයි.

3. TINYINT සහ අනෙකුත් පූර්ණ සංඛ්යා වර්ග අතර සංසන්දනය
MySQL විවිධ පූර්ණ සංඛ්යා වර්ග ලබා දේ, ඒ අතර TINYINT එහි අති කුඩා වර්ගයයි. එයට විරුද්ධව, INT සහ BIGINT වඩා විශාල පරාසයේ අගයන් ගබඩා කළ හැක. පහත T සහ අනෙකුත් ප්රධාන පූර්ණ සංඛ්යා වර්ග අතර වෙනස්කම් දැක්වේ.
INT සහ TINYINT අතර වෙනස
INT බයිට් 4ක් භාවිතා කර -2147483648 සිට 2147483647 දක්වා අගයන් සහය දක්වයි, එත් TINYINT බයිට් 1ක් පමණ භාවිතා කර -128 සිට 127 (අත්සන්) හෝ 0 සිට 255 (අත්සන් නොකළ) දක්වා අගයන් සහය දක්වයි. එබැවින්, TINYINT භාවිතා කිරීමෙන් ඔබට සුදුසු පරාසයක දත්ත කාර්යක්ෂමව කළමනාකරණය කර මතකය ඉතිරි කළ හැක.
අනෙකුත් කුඩා පූර්ණ සංඛ්යා වර්ග සමඟ සංසන්දනය
TINYINT之外, MySQL SMALLINT (බයිට් 2) සහ MEDIUMINT (බයිට් 3) වැනි දත්ත වර්ග ලබා දේ. එක් එක් වර්ගයේ බයිට් ප්රමාණය අනුව සංඛ්යා පරාසය වෙනස් වන බැවින්, සුදුසු දත්ත වර්ගය තෝරා ගැනීම වැදගත් වේ.
4. අත්සන් සහ අත්සන් නොකළ අතර තේරීම
MySQL හි, TINYINT වර්ගය අත්සන් කර ඇති හෝ අත්සන් නොකළ ලෙස නිර්වචනය කළ හැක. වෙනස තේරුම් ගැනීම සහ නිසි ලෙස තේරීම මඟින් දත්ත කළමනාකරණය කාර්යක්ෂම වේ.
අත්සන් නොකළ TINYINT හි වාසි
අත්සන් නොකළ TINYINT (TINYINT UNSIGNED) 0 සිට 255 දක්වා අගයන් සහය දක්වයි, එබැවින් නකළ අගයන් අවශ්ය නොවන අවස්ථාවල ප්රයෝජනවත් වේ. උදාහරණයක් ලෙස, පරිශීලක වයස හෝ නිෂ්පාදන ප්රමාණය (නකළ අගයන් අවශ්ය නොවන) ගබඩා කිරීමේදී UNSIGNED භාවිතා කිරීම භාවිතා කළ හැකි පරාසය විස්තාර කර දත්ත කළමනාකරණය කාර්යක්ෂම කරයි.
අත්සන් TINYINT හි වාසි
අත්සන් TINYINT -128 සිට 127 දක්වා අගයන් සහය දක්වයි, එබැවින් නකළ අගයන් අවශ්ය වන අවස්ථාවල සුදුසු වේ. උදාහරණයක් ලෙස, උෂ්ණත්වය වැනි දත්ත (නකළ අගයන් ඇති විය හැක) සඳහා අත්සන් විකල්පය සුදුසු වේ.
5. TINYINT භාවිතයේ උදාහරණය
.මෙහි TINYINT භාවිතා කර දත්ත ගබඩා කළ හැකි ආකාරයක් උදාහරණයක් ලෙස දක්වා ඇත. උදාහරණයක් ලෙස, නිෂ්පාදන ප්රමාණයන් කළමනාකරණය කරන විට, ඔබට පහලින් පරිදි වගුව නිර්වචනය කළ හැක:
CREATE TABLE products (
product_id INT PRIMARY KEY,
quantity TINYINT UNSIGNED NOT NULL
);
මෙම උදාහරණයේ, නිෂ්පාදන තොගයේ quantity අගය unsigned TINYINT ලෙස කළමනාකරණය කරයි, එය 255 දක්වා අගයන් ලබා ගත හැක. තවද, NOT NULL නියම කිරීමෙන් අගයක් සැමවිටම සකස් කර ඇති බව ඔබට සහතික වේ.
ඔබට TINYINT භාවිතා කර පරිශීලක තත්ත්ව ධජ (status flags) සරල හා කාර්යක්ෂම ආකාරයෙන් කළමනාකරණය කළ හැක. විශාල ප්රමාණයේ දත්ත සැකසීමේදී, TINYINT භාවිතා කිරීම සමස්ත දත්ත ගබඩා කාර්යක්ෂමතාවය වැඩිදියුණු කරයි.
6. සාරාංශය සහ හොඳම පුරුදු
TINYINT MySQL හි මතක-කාර්යක්ෂමතම දත්ත වර්ගයන්ගෙන් එකක් වන අතර, කුඩා පූර්ණ සංඛ්යා සහ ධජ (flags) කාර්යක්ෂමව කළමනාකරණය කිරීම සඳහා ඉතා සුදුසුය. Boolean අගයන් හෝ කුඩා සංඛ්යා පරාස සඳහා TINYINT භාවිතා කිරීමෙන්, ඔබට ගබඩා භාවිතය සහ දත්ත ගබඩා කාර්යක්ෂමතාව දෙකම උපරිම කරගත හැක.


