MySQL OPTIMIZE TABLE විස්තර: කාර්ය සාධනය වැඩිදියුණු කිරීම සහ කොටස් බෙදීම අඩු කිරීම

目次

1. Introduction

දත්ත ගබඩා කළමනාකරණය යනු පද්ධතියේ කාර්ය සාධනය සහ විශ්වාසනීයතාවය සෘජුවම බලපාන වැදගත් සාධකයකි. මෙම වගකීම් අතර, MySQL කාර්ය සාධනය අනුකූල කිරීම බොහෝ සංවර්ධකයින් සහ පරිපාලකයින් සඳහා වැදගත් කාර්යයක් වේ. මෙම ලිපියේ අපි MySQL OPTIMIZE TABLE විධානයට අවධානය යොමු කර එහි භූමිකාව සහ භාවිතය විස්තරාත්මකව පැහැදිලි කරමු.

OPTIMIZE TABLE යනු වගුවේ කොටස්කරණය ඉවත් කිරීම සහ අතුරුදන් වූ ගබඩා ඉඩ අඩු කිරීම සඳහා භාවිතා කරන විධානයකි. මෙය කිරීමෙන් දත්ත ගබඩා කියවීම/ලියීමේ වේගය වැඩි කර පද්ධතියේ සමස්ත කාර්ය සාධනය වැඩි කරයි.

මෙම ලිපිය මඟින් ඔබට පහත දේ ඉගෙන ගත හැකිය:

  • OPTIMIZE TABLE හි මූලික භාවිතය
  • එය ක්‍රියාත්මක කිරීමේදී සැලකිලිමත් විය යුතු වැදගත් කරුණු සහ හොඳ පුරුදු
  • ගබඩා එන්ජින් අනුව හැසිරීමේ වෙනස්කම්

මෙම මාර්ගෝපදේශය MySQL පරිශීලක සියලු දෙනාට, ආරම්භකයන් සිට මධ්‍යම මට්ටමේ වෘත්තීයවේදියන් දක්වා, වටිනා තොරතුරු ලබා දෙයි.

2. What Is OPTIMIZE TABLE?

OPTIMIZE TABLE යනු MySQL දත්ත ගබඩා කළමනාකරණයේ වැදගත් විධානයකි. මෙම කොටසේ, එහි මූලික ක්‍රියාකාරිත්වය, වාසි, සහ එය යොදා ගැනිය යුතු අවස්ථා පැහැදිලි කරමු.

Core Functions of OPTIMIZE TABLE

OPTIMIZE TABLE ප්‍රධාන වශයෙන් පහත කාර්යයන් සඳහා භාවිතා වේ:

  1. දත්ත කොටස්කරණය ඉවත් කිරීම දත්ත නිතර ඇතුළත්, යාවත්කාලීන, හෝ මකා දැමූ විට, වගුව තුළ අභාවිත ඉඩ එකතු විය හැක, එය කාර්ය සාධනය අඩු කරයි. OPTIMIZE TABLE මෙම කොටස්කරණය ඉවත් කර ගබඩා කාර්යක්ෂමතාව වැඩි කරයි.
  2. සුචක නැවත ගොඩනැගීම ප්‍රාථමික සහ ද්විතීය සුචක නැවත ගොඩනැගීමෙන් සෙවීමේ කාර්ය සාධනය වැඩි වේ.
  3. ගබඩා ඉඩ ප්‍රතිප්‍රාප්තිය එය වගුව තුළ අභාවිත ඉඩ නිදහස් කර ලබා ගත හැකි ගබඩා ධාරිතාවය තහවුරු කරයි.

Benefits of Using OPTIMIZE TABLE

OPTIMIZE TABLE භාවිතා කිරීමෙන් පහත වාසි ලැබේ:

  • කාර්ය සාධනය වැඩි වීම වේගවත් වගු ප්‍රවේශය සමස්ත දත්ත ගබඩා ප්‍රතිචාර කාලය අඩු කරයි.
  • ගබඩා කාර්යක්ෂමතාව වැඩි වීම අභාවිත ඉඩ අඩු කිරීමෙන් ගබඩා භාවිතය වැඩි වේ සහ දිගුකාලීන පිරිවැය ඉතිරි කිරීමට දායක වේ.
  • දත්ත ගබඩා ස්ථායිත්වය වැඩි වීම සුචක සහ දත්ත ව්‍යුහයන් අනුකූල කිරීමෙන් අස්ථිර විමසුම් හැසිරීම සහ දෝෂ වැළැක්විය හැක.

When Should You Use OPTIMIZE TABLE?

OPTIMIZE TABLE විශේෂයෙන්ම පහත තත්ත්වයන්හි ප්‍රයෝජනවත් වේ. පහත අවස්ථා සැලකිල්ලට ගන්න:

  1. විශාල දත්ත මකා දැමීමෙන් පසු බොහෝ පේළි මකා දැමූ පසු, වගුව තුළ අභාවිත ඉඩ ඉතිරි වේ. අනුකූල කිරීම මෙම කොටස්කරණය ඉවත් කරයි.
  2. නිතර යාවත්කාලීන වන වගු නිතර යාවත්කාලීන කිරීමෙන් දත්ත සංවිධානය බිඳ වැටේ නම්, අනුකූල කිරීම කාර්යක්ෂමතාව නැවත ලබා දෙයි.
  3. විමසුම් කාර්ය සාධනය අඩු වීම විශේෂිත වගුවකට විමසුම් මන්දගාමී වන්නේ නම්, කොටස්කරණය හෝ නරක සුචක එහි හේතුව විය හැක, එම නිසා අනුකූල කිරීම උත්සාහ කිරීම වගයි.

3. How to Use OPTIMIZE TABLE

මෙම කොටසේ, OPTIMIZE TABLE විධානයේ මූලික භාවිතය පැහැදිලි කර, ක්‍රියාත්මක උදාහරණ ලබා දී, වැදගත් සැලකිලිමත් කරුණු සහ නිර්දේශිත පුරුදු ගැන සාකච්ඡා කරමු.

Basic Syntax

OPTIMIZE TABLE විධානයේ වාක්‍ය රචනය ඉතා සරලයි. පහත මූලික ආකෘතියයි:

OPTIMIZE TABLE table_name;

මෙම විධානය ක්‍රියාත්මක කිරීමෙන් නියමිත වගුව අනුකූල වේ. ඔබට එකවර බහු වගු අනුකූල කිරීමටත් හැකියාව ඇත.

OPTIMIZE TABLE table_name1, table_name2, table_name3;

Execution Examples

පහත දැක්වෙන්නේ ප්‍රායෝගික භාවිත උදාහරණයයි:

  1. එක වගුවක් අනුකූල කිරීම “users” නමැති වගුවක් අනුකූල කිරීමට:
    OPTIMIZE TABLE users;
    

ක්‍රියාත්මක ප්‍රතිඵලය පහත පරිදි පෙන්වනු ඇත:

+------------------+----------+----------+----------+
| Table            | Op       | Msg_type | Msg_text |
+------------------+----------+----------+----------+
| database.users   | optimize | status   | OK       |
+------------------+----------+----------+----------+
  1. බහු වගු අනුකූල කිරීම “orders” සහ “products” දෙකම එකවර අනුකූල කිරීමට:
    OPTIMIZE TABLE orders, products;
    

ක්‍රියාත්මක කිරීමෙන් පසු, ප්‍රතිඵලයේ සෑම වගුවක් සඳහාම අනුකූල කිරීමේ තත්ත්වය පෙන්වනු ඇත.

ක්‍රියාත්මක කිරීමේදී සැලකිලිමත් විය යුතු වැදගත් කරුණු

When running OPTIMIZE TABLE, keep the following points in mind:

  1. වගුව ලොක් කිරීම සුදානම් කිරීමේ ක්‍රියාවලිය තුළ, ඉලක්ක වගුව ලොක් කරයි. මෙය තාවකාලිකව INSERT, UPDATE, SELECT වැනි අනෙකුත් විමසුම් අවහිර කරනු ඇත. එබැවින්, අඩු-ට්‍රැෆික් කාලවලදී මෙම විධානය ක්‍රියාත්මක කිරීම සුදුසුය.
  2. ගබඩා එන්ජින් අනුකූලතාව මෙම විධානයේ හැසිරීම MyISAM සහ InnoDB අතර වෙනස් වේ. උදාහරණයක් ලෙස, InnoDB හි, මෙම ක්‍රියාවලිය ඇතුළත “ALTER TABLE … ENGINE=InnoDB” ක්‍රියාත්මක කිරීමකට සමාන වේ. විස්තර පසුබැස “ගබඩා එන්ජින් අනුව හැසිරීම” කොටස තුළ පැහැදිලි කර ඇත.
  3. උපස්ථාපන (Backup) නිර්දේශය දත්ත අහිමි වීම වැලැක්වීමට, සුදානම් කිරීමේ පෙර සම්පූර්ණ දත්ත ගබඩා උපස්ථාපනයක් ගන්න.
  4. වගුවේ ප්‍රමාණ වෙනස්වීම භාවිත නොකළ ඉඩ නිදහස් කිරීම සාමාන්‍යයෙන් වගුවේ ප්‍රමාණය අඩු කරයි, නමුත් කාලයක් කාලයක් එය වැඩි විය හැක. ක්‍රියාත්මක කිරීමේ පෙර සහ පසු ගබඩා භාවිතය පරීක්ෂා කිරීම සුදුසුය.

හොඳම පුරුදු ක්‍රම

  • නිති පරිපාලනය දත්ත ගබඩා කාර්ය සාධනය රැක ගැනීමට, නිතර සුදානම් කිරීම සිදු කරන්න. නිතර යාවත්කාලීන වන වගු සඳහා මෙය විශේෂයෙන් ප්‍රයෝජනවත් වේ.
  • සුදානම් කාලසටහන ස්වයංක්‍රීය මෙවලම් හෝ ස්ක්‍රිප්ට් භාවිතා කර, අඩු-පැටිය කාලවල, උදාහරණයක් ලෙස රාත්‍රියේ පසුකාලීනව, සුදානම් කිරීම සිදු කරන්න.

4. ගබඩා එන්ජින් අනුව හැසිරීම

MySQL බහු ගබඩා එන්ජින් සහය දක්වයි, සහ OPTIMIZE TABLE හි හැසිරීම එන්ජින් අනුව වෙනස් වේ. මෙම කොටසේ, අපි ප්‍රධාන වශයෙන් MyISAM සහ InnoDB මත අවධානය යොමු කරමු.

MyISAM සඳහා

MyISAM යනු MySQL හි පළමු අනුවාද වල සිට භාවිතා වූ පරණ ගබඩා එන්ජින් එකක් වන අතර එහි සරල දත්ත ව්‍යුහය විශේෂත්වයක් වේ. OPTIMIZE TABLE ක්‍රියාත්මක කරන විට, පහත හැසිරීම් සිදුවේ:

  1. කඩතුරු ඉවත් කිරීම MyISAM හි, මකා දැමීම හෝ යාවත්කාලීන කිරීමෙන් ඇති වූ භාවිත නොකළ ඉඩ ඉවත් කරයි, සහ වගු ගොනුව භෞතිකව ප්‍රමාණයෙන් කුඩා කරයි.
  2. සුචක (Index) නැවත ගොඩනැගීම ප්‍රාථමික සහ ද්විතීය සුචක නැවත ගොඩනැගී, සෙවීමේ කාර්ය සාධනය වැඩි කරයි.
  3. වැදගත් සටහන්
  • MyISAM හි, සුදානම් කිරීමේදී සම්පූර්ණ වගුව ලොක් කරයි, තාවකාලිකව කියවීම සහ ලිවීමේ ක්‍රියාකාරකම් අවහිර කරයි.
  • වගුවේ ප්‍රමාණය විශාල නම්, සුදානම් ක්‍රියාවලියට සලස්වන කාලය වැඩි විය හැක.

InnoDB සඳහා

InnoDB යනු MySQL හි පෙරනිමි ගබඩා එන්ජින් වන අතර, ගනුදෙනු (transactions) සහ විදේශීය යතුරු (foreign key) සීමා වැනි නවීන විශේෂාංග සහය දක්වයි. OPTIMIZE TABLE ක්‍රියාත්මක කරන විට, පහත සැකසීම සිදුවේ:

  1. අභ්‍යන්තර වගු නැවත ගොඩනැගීම InnoDB හි, OPTIMIZE TABLE අභ්‍යන්තරව පහත ක්‍රියාවලියට පරිවර්තනය වේ:
    ALTER TABLE table_name ENGINE=InnoDB;
    

මෙය සම්පූර්ණ වගුව නැවත ගොඩනැගී, දත්ත සහ සුචක දෙකම සුදානම් කරයි.

  1. භාවිත නොකළ ඉඩ මුදා හැරීම InnoDB හි, tablespace තුළ ඇති භාවිත නොකළ ඉඩ භෞතිකව ප්‍රතිප්‍රාප්ත කරයි. නමුත්, එය ගොනුවේ ප්‍රමාණය අඩු වන බව අර්ථ නොගනී.
  2. වැදගත් සටහන්
  • OPTIMIZE TABLE ක්‍රියාත්මක වන විට, InnoDB වගුද ලොක් කරයි. නමුත්, MyISAM සමඟ සැසඳුනේ, අසමන්විත සැකසීම සමහර අවස්ථාවල අනෙකුත් විමසුම් එකවර ක්‍රියාත්මක වීමට ඉඩ දේ.
  • InnoDB file-per-table ප්‍රකාරය භාවිතා කරන විට, සැකසීමෙන් පසු ගබඩා භාවිතය අඩු විය හැක.

අනෙකුත් ගබඩා එන්ජින්

OPTIMIZE TABLE MyISAM සහ InnoDB හැර වෙනත් ගබඩා එන්ජින් (උදාහරණයක් ලෙස MEMORY හෝ ARCHIVE) මතද ක්‍රියාත්මක කළ හැක, නමුත් පහත කරුණු මත අවධානය යොමු කරන්න:

  • MEMORY එන්ජින් : දත්ත මතකයේ ගබඩා වන බැවින්, OPTIMIZE TABLE ට අඩු හෝ කිසිදු ප්‍රතිලාභයක් නොමැත.
  • ARCHIVE එන්ජින් : එය append-only (එකතු කිරීම පමණක්) දත්ත ව්‍යුහයක් භාවිතා කරන බැවින්, සුදානම් ප්‍රතිඵල සීමිත වේ.

නිවැරදි ගබඩා එන්ජින් තේරීම

වගු ලක්ෂණ සහ භාවිතය අනුව සුදුසු ගබඩා එන්ජින් තේරීම වැදගත්ය. OPTIMIZE TABLE ප්‍රභාවී ලෙස භාවිතා කිරීමට, පහත කරුණු සලකා බලන්න:

  • යාවත්කාලීන සහ මකා දැමීම් නිතර සිදුවේ නම්: InnoDB නිර්දේශිතය
  • දත්ත කියවීමට පමණක් නම්: MyISAM සලකා බැලිය හැක
  • ඉහළ විමසුම් කාර්ය සාධනය අවශ්‍ය නම්: සුචක භාවිතය පිළිබඳ අවධානයෙන් සිටින්න

5. OPTIMIZE TABLE භාවිතා කිරීමේ ප්‍රභාවී ක්‍රම

OPTIMIZE TABLE නිවැරදි වේලාවට සහ නිවැරදි ආකාරයෙන් භාවිතා කරන විට MySQL කාර්ය සාධනය වැඩි දියුණු කරයි. මෙම කොටසේ, නිතර නඩත්තු කිරීමේ වැදගත්කම, ප්‍රභාවී භාවිතය සඳහා හොඳ පුරුදු, සහ ස්වයංක්‍රීය ක්‍රම පිළිබඳව පැහැදිලි කරමු.

Importance of Regular Maintenance

දත්ත කුඩාකරණය සහ සූචක කඩාවැටීම නිසා දත්ත ගබඩා කාර්ය සාධනය කාලයත් සමඟ ක්‍රමයෙන් අඩු වේ. ඒ නිසා, OPTIMIZE TABLE නිතර ක්‍රියාත්මක කිරීමෙන් වගු අනුකූලව තබා ගැනීමට නිර්දේශ කරයි.

Recommended Maintenance Frequency

  • නිතර යාවත්කාලීන වන වගු : මාසයකට එක් වරක් හෝ වැඩිදුරටත් අනුකූල කරන්න
  • කෙරෙහි-පෙරහන් වගු : වසරකට එක් හෝ දෙවරක් ප්‍රමාණවත් වේ
  • බර මකා දැමීමක් ඇති වගු : විශාල මකා දැමීමෙන් පසු වහාම අනුකූල කිරීම ක්‍රියාත්මක කරන්න

Benefits of Optimization

  • විමසුම් ප්‍රතිචාර කාලය අඩු වේ
  • දත්ත ගබඩා ස්ථායීත්වය වැඩි වේ
  • ගබඩා භාවිතය අඩු වේ

Best Practices for Effective Usage

OPTIMIZE TABLE කාර්යක්ෂමව භාවිතා කිරීමට, පහත හොඳ පුරුදු සලකා බලන්න:

  1. කාර්ය සාධන නිරීක්ෂණය භාවිතා කරන්න වගු කුඩාකරණ මට්ටම් නිතර නිරීක්ෂණය කර අනුකූල කිරීම අවශ්‍යදැයි තීරණය කරන්න. උදාහරණයක් ලෙස, information_schema භාවිතා කර කුඩාකරණ තත්ත්වය පරීක්ෂා කළ හැක.
    SELECT TABLE_NAME, DATA_FREE
    FROM information_schema.TABLES
    WHERE TABLE_SCHEMA = 'database_name';
    

මෙම විමසුම ඔබට එක් එක් වගුව සඳහා භාවිත නොකළ ඉඩ පරීක්ෂා කිරීමට ඉඩ සලසයි.

  1. අඩු-ට්‍රැෆික් කාලවල ක්‍රියාත්මක කරන්න OPTIMIZE TABLE වගු අගුළු දැමීමක් ඇතුළත් කර ඇති බැවින්, පද්ධතියේ පූර්ණ භාරය අඩු වන කාලවල එය ක්‍රියාත්මක කිරීම වැදගත් වේ. රාත්‍රියේ පසු හෝ නියමිත නඩත්තු කාලවල එය ඉතා සුදුසුය.

  2. විශාල වගු සඳහා යෙදවීම වගුව ඉතා විශාල නම්, පියවරෙන් පියවර අනුකූල කිරීම හෝ පරණ දත්ත වෙනත් වගුවකට සංරක්ෂණය කිරීම සලකා බලන්න.

Automation Methods and Tools

OPTIMIZE TABLE අතින් ක්‍රියාත්මක කිරීම කාලය ගත කරයි, එබැවින් ස්වයංක්‍රීය මෙවලම් හෝ ස්ක්‍රිප්ට් භාවිතා කිරීම කාර්යක්ෂමතාව වැඩි කරයි.

Example Automation Script

පහත දැක්වෙන්නේ නිතර සියලු වගු අනුකූල කරන උදාහරණ ස්ක්‍රිප්ට් එකකි:

#!/bin/bash
DATABASE="database_name"
USER="username"
PASSWORD="password"

mysql -u $USER -p$PASSWORD -e "USE $DATABASE; SHOW TABLES;" | while read TABLE
do
  if [ "$TABLE" != "Tables_in_$DATABASE" ]; then
    mysql -u $USER -p$PASSWORD -e "OPTIMIZE TABLE $TABLE;"
  fi
done

cron සමඟ මෙම ස්ක්‍රිප්ට් ලියාපදිංචි කිරීමෙන්, ඔබට අවශ්‍ය අනුකූල කිරීමේ අඩවිය ස්වයංක්‍රීය කළ හැක.

Using Automation Tools

  • MySQL Workbench : GUI භාවිතයෙන් අනුකූල කිරීම සකස් කරගත හැක
  • තෙවන පාර්ශව මෙවලම් : phpMyAdmin හෝ Percona Toolkit වැනි මෙවලම් භාවිතයෙන් අනුකූල කිරීම කළමනාකරණය කරන්න

Important Notes

ස්වයංක්‍රීය කිරීම ක්‍රියාත්මක කරන විට, පහත කරුණු මත අවධානය යොමු කරන්න:

  • ක්‍රියාත්මක කිරීමට පෙර සැමවිටම බැකප් එකක් ගන්න
  • විශාල වගු සඳහා ප්‍රමාණවත් සැකසුම් කාලය අවශ්‍ය විය හැක
  • අනපේක්ෂිත හැසිරීම් වැළැක්වීමට ස්වයංක්‍රීය ස්ක්‍රිප්ට් පරීක්ෂා කර බලන්න

6. FAQ (Frequently Asked Questions)

මෙම කොටස OPTIMIZE TABLE සම්බන්ධ සාමාන්‍ය ප්‍රශ්න සහ පිළිතුරු සාරාංශ කරයි. එය ආරම්භකයන් සහ මධ්‍යම පරිශීලකයන් සඳහා ප්‍රයෝජනවත් තොරතුරු ලබා දෙයි.

Q1. How often should I run OPTIMIZE TABLE?

A: වගු භාවිතය අනුව වෙනස් වේ. පහත මාර්ගෝපදේශ භාවිතා කරන්න:

  • නිතර යාවත්කාලීන හෝ මකා දැමෙන වගු: මාසයකට එක් වරක් හෝ වැඩිදුරටත්
  • කෙරෙහි-පෙරහන් වගු: සෑම 6–12 මාසයකට එක් වරක්
  • විශාල දත්ත මකා දැමීමෙන් පසු: මකා දැමීමෙන් පසු වහාම ක්‍රියාත්මක කරන්න

හොඳම ක්‍රමය කුඩාකරණ මට්ටම් පරීක්ෂා කර අවශ්‍ය විට අනුකූල කිරීම ක්‍රියාත්මක කිරීමයි.

Q2. Does OPTIMIZE TABLE lock the table?

A: ඔව්. OPTIMIZE TABLE ක්‍රියාත්මක වන විට, වගුව අගුළු දැමෙනවා. එම කාලය තුළ INSERT, UPDATE, DELETE, SELECT මෙහෙයුම් තාවකාලිකව අවහිර විය හැක. එබැවින්, අඩු-ට්‍රැෆික් කාලවල එය ක්‍රියාත්මක කිරීම නිර්දේශ කරයි.

Q3. What should I do if an error occurs during OPTIMIZE TABLE?

A: දෝෂයක් සිදුවේ නම්, පහත පියවර අනුගමනය කරන්න:

  1. දෝෂ ලොග් පරීක්ෂා කර විස්තරාත්මක හේතුව හඳුනා ගන්න.
  2. බලපෑ වගුවේ අලුත්වැඩියා විධානයක් ක්‍රියාත්මක කරන්න.
    REPAIR TABLE table_name;
    
  1. බැකප් එකක් පවතිනවා නම්, ටේබලය ප්‍රතිස්ථාපනය කිරීම සලකා බලන්න.

Q4. OPTIMIZE TABLE සියලුම storage engines සඳහා ඵලදායීද?

A: එය සියලුම storage engines සමඟ භාවිතා කළ හැකි වුවද, එහි බලපෑම් සහ හැසිරීම වෙනස් වේ.

  • InnoDB : ප්‍රධාන වශයෙන් සුඛචක්‍ර සංවිධානය කරයි සහ අනවශ්‍ය අවකාශය ප්‍රතිලාභ කරගනී.
  • MyISAM : දත්ත සහ සුඛචක්‍ර ගොනු දෙකම සකස් කරයි.
  • MEMORY සහ ARCHIVE : විශේෂිත අවස්ථාවල පමණක් ඵලදායී වන අතර, සාමාන්‍යයෙන් අඩුවෙන් භාවිතා කරයි.

Q5. OPTIMIZE TABLE වෙනත් නඩත්තු ප්‍රකාශන වගේ ANALYZE TABLE සමඟ වෙනස් වන්නේ කෙසේද?

A: ඒවායේ අරමුණු වෙනස් වේ.

  • OPTIMIZE TABLE : ශිලාකරණය ඉවත් කරයි සහ සුඛචක්‍ර ප්‍රතිස්ථාපනය කරයි.
  • ANALYZE TABLE : විමසුම් සකස් කිරීමට ටේබල සංඛ්‍යාලේඛන යාවත්කාලීන කරයි.

මෙම ප්‍රකාශන අනුපූරක වන බැවින්, ඒවා සුදුසු විට භාවිතා කිරීම නිර්දේශ කෙරේ.

Q6. OPTIMIZE TABLE ධාවනය කිරීමෙන් පසු storage භාවිතය අඩු වේද?

A: බොහෝ අවස්ථාවලදී, අනවශ්‍ය අවකාශය ප්‍රතිලාභ කරගැනීම නිසා storage භාවිතය අඩු වේ. නමුත්, InnoDB හි, tablespace එකක් ගොනුවකට අනුව සකස් නොකර ඇත්නම්, සකස් කිරීමෙන් පසුවද භෞතික ගොනු ප්‍රමාණය වෙනස් නොවිය හැක.

Q7. OPTIMIZE TABLE කෙසේ ස්වයංක්‍රීය කළ හැකිද?

A: ස්ක්‍රිප්ට් හෝ මෙවලම් භාවිතයෙන් ස්වයංක්‍රීයකරණය කළ හැක. උදාහරණයක් ලෙස:

  • shell ස්ක්‍රිප්ට් එකක් සාදා cron job එකකින් එය නියම කරන්න
  • MySQL Workbench භාවිතයෙන් නියම කිරීම සඳහා
  • Percona Toolkit වැනි තෙවන පාර්ශව මෙවලම් භාවිතා කරන්න

ස්වයංක්‍රීය සකස් කිරීමට පෙර සැමවිටම බැකප් එකක් ගන්න.

7. නිගමනය

මෙම ලිපියෙහි, අපි MySQL OPTIMIZE TABLE ප්‍රකාශනයේ මූලික ක්‍රියාකාරිත්වය, භාවිතා ක්‍රම, storage engine හැසිරීම් වෙනස්කම්, සහ ප්‍රායෝගික භාවිතා උපාය මාර්ග ආවරණය කරමින් සම්පූර්ණ පැහැදිලි කිරීමක් ලබා දුන්නෙහි. මෙම ප්‍රකාශනය MySQL කාර්ය සාධන සකස් කිරීම සඳහා ඉතා ඵලදායී මෙවලමකි, සහ නිවැරදි ලෙස භාවිතා කළ විට, එය දත්ත සමුදාය ස්ථායිතාව සහ කාර්යක්ෂමතාව තරමක් වැඩි දියුණු කළ හැක.

ප්‍රධාන ඉගෙනීම්

  1. OPTIMIZE TABLE හි භූමිකාව එය ටේබල ශිලාකරණය ඉවත් කරයි, storage කාර්යක්ෂමතාව වැඩි දියුණු කරයි, සහ විමසුම් කාර්ය සාධනය වඩාත් හොඳ කරයි.
  2. සුදුසු භාවිතා අවස්ථා එය නිතර යාවත්කාලීන කිරීම් හෝ මක කිරීම් සිදු වන ටේබල සඳහා, සහ විමසුම් කාර්ය සාධනය පහත වැටී ඇති ටේබල සඳහා විශේෂයෙන් ඵලදායී වේ.
  3. ධාවනය සලකා බැලීම් ධාවනය අතරතුර ටේබලය ලොක් වන බැවින්, අඩු ගුණාත්මක බහුලත්ව කාලවලදී සකස් කිරීම නිර්දේශ කෙරේ. ඒ වගේම, එයට පෙර බැකප් එකක් ගැනීම අමතක කරන්න එපා.
  4. ස්වයංක්‍රීයකරණයේ වාසි ස්ක්‍රිප්ට් හෝ මෙවලම් භාවිතයෙන්, ඔබට නිතිපතා සකස් කිරීම් කටයුතු ස්වයංක්‍රීය කළ හැකි අතර, ඔබේ දත්ත සමුදාය වඩාත් කාර්යක්ෂමව කළමනාකරණය කළ හැක.

අඛණ්ඩ නඩත්තුවේ වැදගත්කම

කාලයත් සමඟ, MySQL දත්ත සමුදායන්හි දත්ත ශිලාකරණය සහ සුඛචක්‍ර පහත වැටීම සිදු වේ. එය නොසලකා හරින ලදහොත්, එය සමස්ත පද්ධති කාර්ය සාධනය පහත වැටීමට තුඩු දෙනු ඇත. OPTIMIZE TABLE ඇතුළු නිතිපතා නඩත්තුව සිදු කිරීමෙන් දිගුකාලීන දත්ත සමුදාය කාර්ය සාධනය පවත්වා ගැනීමට උපකාරී වේ.

අවසාන සිතුවිලි

OPTIMIZE TABLE යනු MySQL පරිශීලකයින් සඳහා බලවත් සහ ප්‍රායෝගික මෙවලමකි. නමුත්, වැරදි වෙලාවක හෝ නිසි සැලසුමකින් තොරව භාවිතා කළහොත්, එය ඔබේ පද්ධතියට අනවශ්‍ය බරක් එකතු කළ හැක. මෙම ලිපියෙහි බෙදා හරින ලද දැනුම භාවිතා කරමින්, ඔබට ඔබේ දත්ත සමුදාය ස්ථිර කාර්ය සාධනය සඳහා ආරක්ෂිතව සහ කාර්යක්ෂමව සකස් කළ හැක.