Adatbázistábla optimalizálása

Megjegyzés

Ez az oktatóanyag csak helyszíni telepítéssel rendelkező ügyfeleknek szól. Az Ügyfélmegoldások csapat gondoskodik a menedzselt ügyfelek adatbázisáról.

Az adatbázistáblák természetéből adódóan idővel töredezetté válhatnak. A töredezettséget a rekordokban lévő értékek frissítése okozza. Ez normális, de egy töredezett tábla több tárhelyet foglal, és a lekérdezések lassabban futhatnak.

Ez egy adatbázis-üzemeltetési téma és nem kapcsolódik szorosan az OTRS-hez, de ez az oktatóanyag segíthet a probléma azonosításában és megoldásában, ha az adatbázis egyre nagyobbá válik.

Az adatbázistáblák optimalizálásához:

  1. Ellenőrizze a táblák állapotát az alábbi SQL-utasítás használatával.

    SELECT
      TABLE_NAME,
      ROUND(DATA_LENGTH/1024/1024, 2) AS DATA_LENGTH,
      ROUND(INDEX_LENGTH/1024/1024, 2) AS INDEX_LENGTH,
      ROUND(DATA_FREE/1024/1024, 2) AS DATA_FREE,
      (data_free/(index_length+data_length)) AS FRAG_RATIO
    FROM information_schema.tables
    WHERE TABLE_SCHEMA = 'otrs'
    AND DATA_FREE > 0
    ORDER BY frag_ratio DESC;
    
  2. Vizsgálja felül és elemezze a kimenetet, amelynek ehhez hasonlóan kell kinéznie.

    +--------------------------------+-------------+--------------+-----------+------------+
    | TABLE_NAME                     | DATA_LENGTH | INDEX_LENGTH | DATA_FREE | FRAG_RATIO |
    +--------------------------------+-------------+--------------+-----------+------------+
    | communication_log_object_entry |        0.02 |         0.03 |     10.00 |   213.3333 |
    | user_config                    |        1.19 |         0.05 |      4.00 |     3.2405 |
    | web_upload_cache               |        7.31 |         0.00 |     22.00 |     3.0085 |
    | article_data_mime              |        1.52 |         0.06 |      4.00 |     2.5347 |
    | sysconfig_deployment           |       10.02 |         0.02 |     16.00 |     1.5950 |
    | xml_storage                    |        1.50 |         1.92 |      4.00 |     1.1689 |
    | mail_queue                     |        5.52 |         0.05 |      4.00 |     0.7191 |
    | virtual_fs_db                  |        1.52 |         0.02 |      1.00 |     0.6531 |
    | sysconfig_default              |        6.41 |         0.31 |      4.00 |     0.5953 |
    | sysconfig_default_version      |       10.52 |         0.45 |      5.00 |     0.4558 |
    | package_repository             |       33.52 |         0.03 |     11.00 |     0.3279 |
    +--------------------------------+-------------+--------------+-----------+------------+
    

    A kimenet azt mutatja, hogy a communication_log_object_entry tábla töredezettségi aránya 213, és a tábla 10 MB üres adatot tartalmaz.

  3. Ha a töredezettségi arány nagyobb mint 50% (0,5 a FRAG_RATIO oszlopban), akkor érdemes megfontolnia a tábla optimalizálását az OPTIMIZE SQL-utasítás használatával.

    OPTIMIZE TABLE otrs.communication_log_object_entry;
    
  4. Ellenőrizze, hogy a tábla nem töredezett-e többé. Használja ugyanazt az SQL-utasítást, amelyet az 1. lépésben használt.

    +---------------------------+-------------+--------------+-----------+------------+
    | TABLE_NAME                | DATA_LENGTH | INDEX_LENGTH | DATA_FREE | FRAG_RATIO |
    +---------------------------+-------------+--------------+-----------+------------+
    | user_config               |        1.19 |         0.05 |      4.00 |     3.2405 |
    | web_upload_cache          |        7.31 |         0.00 |     22.00 |     3.0085 |
    | article_data_mime         |        1.52 |         0.06 |      4.00 |     2.5347 |
    | sysconfig_deployment      |       10.02 |         0.02 |     16.00 |     1.5950 |
    | xml_storage               |        1.50 |         1.92 |      4.00 |     1.1689 |
    | mail_queue                |        5.52 |         0.05 |      4.00 |     0.7191 |
    | virtual_fs_db             |        1.52 |         0.02 |      1.00 |     0.6531 |
    | sysconfig_default         |        6.41 |         0.31 |      4.00 |     0.5953 |
    | sysconfig_default_version |       10.52 |         0.45 |      5.00 |     0.4558 |
    | package_repository        |       33.52 |         0.03 |     11.00 |     0.3279 |
    +---------------------------+-------------+--------------+-----------+------------+
    
  5. Ismételje meg a 3. lépést a többi táblára is, ha szükséges. Egyszerre több táblát is optimalizálhat.

    OPTIMIZE TABLE otrs.communication_log_object_entry, otrs.web_upload_cache, otrs.package_repository;
    

Lásd még

A részletes információkért olvassa el a MySQL hivatalos kézikönyvét.

Scroll to Top