Jump to content

Příručka:Databázová tabulka categorylinks

From mediawiki.org
This page is a translated version of the page Manual:Categorylinks table and the translation is 100% complete.
Manuál:Obsah MediaWiki schéma databáze Tabulka categorylinks
Verze MediaWiki:
1.3

Tabulka categorylinks ukládá položky odpovídající odkazům ve tvaru [[Category:Title]] nebo [[Category:Title|sortkey]], které při umístění kdekoli na stránce umístí stránku do kategorie s názvem Název (pro který může nebo nemusí existovat přidružená stránka). Odkazy začínající dvojtečkou, jako je [[:Category:Title]], nejsou uloženy v tabulce categorylinks, ale jsou zpracovány jako normální interní odkazy (v tomto případě vedoucí na stránku Category:Title). Upravitelné části stránek kategorií jsou uloženy jako ostatní stránky.

Existují čtyři indexy, které pomáhají zlepšit výkon:

  • Zřetězení cl_from a cl_to (pro případ úpravy článku)
  • Zřetězení cl_to, cl_type, cl_sortkey a cl_from (pro zobrazení článků v pořadí)
  • Zřetězení cl_to a cl_timestamp
  • cl_collation

Pole

cl_from

Ukládá page.page_id článku, kde byl umístěn odkaz.

cl_to

Uloží název požadované kategorie ve formátu page_title (tj. s _ a předponou jmenného prostoru excluding).

cl_sortkey

Ukládá název, podle kterého by měla být stránka seřazena v seznamu kategorií. Toto je binární klíč řazení, který v závislosti na $wgCategoryCollation může nebo nemusí být čitelný pro člověka (ale měl by se řadit ve správném pořadí při porovnávání jako bajtový řetězec) a není platný UTF-8, kdykoli databáze zkrátí klíč řazení uprostřed vícebajtové sekvence.

cl_timestamp

Ukládá čas, kdy byl odkaz naposledy aktualizován v tabulce.

cl_sortkey_prefix

Toto je buď prázdný řetězec, pokud stránka používá výchozí klíč řazení (neboli klíč řazení není specifikován). Jinak se jedná o lidsky čitelnou verzi cl_sortkey. Potřebné hlavně proto, aby cl_sortkey bylo možné v určitých situacích snadno aktualizovat, aniž by bylo nutné znovu analyzovat celou stránku. Novější přidané hodnoty jsou platné UTF-8 (viz gerrit:449280).

cl_collation

Verze MediaWiki:
1.17

Jaké řazení se používá. Používá se tak, že pokud se změní collation, skript updateCollation.php ví, jaké řádky je třeba v db opravit.

cl_type

O jaký typ stránky se jedná (file, subcat (podkategorie) nebo page (normální stránka)). Používá se k tomu, aby různé sekce na stránce kategorií mohly být stránkovány nezávisle efektivním způsobem.

Přehled změn ve schématu tabulky

Verze MediaWiki:
1.17

DESCRIBE categorylinks;

+-------------------+------------------------------+------+-----+-------------------+-----------------------------+
| Field             | Type                         | Null | Key | Default           | Extra                       |
+-------------------+------------------------------+------+-----+-------------------+-----------------------------+
| cl_from           | int(10) unsigned             | NO   | PRI | 0                 |                             |
| cl_to             | varbinary(255)               | NO   | PRI |                   |                             |
| cl_sortkey        | varbinary(230)               | NO   |     |                   |                             |
| cl_sortkey_prefix | varbinary(255)               | NO   |     |                   |                             |
| cl_timestamp      | timestamp                    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| cl_collation      | varbinary(32)                | NO   | MUL |                   |                             |
| cl_type           | enum('page','subcat','file') | NO   |     | page              |                             |
+-------------------+------------------------------+------+-----+-------------------+-----------------------------+
Varování Varování: Počínaje verzí 1.17 již není index na (cl_to, cl_sortkey) a je nahrazen indexem na (cl_to, cl_type, cl_sortkey, cl_from). Rozšíření, která se přímo dotazují na tabulku categorylinks, aby získala seznam stránek v seřazeném pořadí, se musí ujistit, že používají nový index, jinak se dotaz může stát velmi neefektivním.
Verze MediaWiki:
1.10 – 1.16

DESCRIBE categorylinks;

+--------------+------------------+------+-----+-------------------+-----------------------------+
| Field        | Type             | Null | Key | Default           | Extra                       |
+--------------+------------------+------+-----+-------------------+-----------------------------+
| cl_from      | int(10) unsigned | NO   | PRI | 0                 |                             |
| cl_to        | varbinary(255)   | NO   | PRI |                   |                             |
| cl_sortkey   | varbinary(70)    | NO   |     |                   |                             |
| cl_timestamp | timestamp        | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+--------------+------------------+------+-----+-------------------+-----------------------------+
Verze MediaWiki:
1.5 – 1.9

DESCRIBE categorylinks;

+--------------+-----------------+------+-----+-------------------+-----------------------------+
| Field        | Type            | Null | Key | Default           | Extra                       |
+--------------+-----------------+------+-----+-------------------+-----------------------------+
| cl_from      | int(8) unsigned | NO   | PRI | 0                 |                             |
| cl_to        | varchar(255)    | NO   | PRI |                   |                             |
| cl_sortkey   | varchar(86)     | NO   |     |                   |                             |
| cl_timestamp | timestamp       | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+--------------+-----------------+------+-----+-------------------+-----------------------------+
Verze MediaWiki:
1.3 – 1.4

DESCRIBE categorylinks;

+--------------+-----------------+------+-----+-------------------+-----------------------------+
| Field        | Type            | Null | Key | Default           | Extra                       |
+--------------+-----------------+------+-----+-------------------+-----------------------------+
| cl_from      | int(8) unsigned | NO   | PRI | 0                 |                             |
| cl_to        | varchar(255)    | NO   | PRI |                   |                             |
| cl_sortkey   | varchar(255)    | NO   |     |                   |                             |
| cl_timestamp | timestamp       | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+--------------+-----------------+------+-----+-------------------+-----------------------------+

Indexy

Verze MediaWiki:
1.42

SHOW INDEX IN categorylinks;

+---------------+------------+--------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table         | Non_unique | Key_name     | Seq_in_index | Column_name  | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------------+------------+--------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| categorylinks |          0 | PRIMARY      |            1 | cl_from      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          0 | PRIMARY      |            2 | cl_to        | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_sortkey   |            1 | cl_to        | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_sortkey   |            2 | cl_type      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_sortkey   |            3 | cl_sortkey   | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_sortkey   |            4 | cl_from      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_timestamp |            1 | cl_to        | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| categorylinks |          1 | cl_timestamp |            2 | cl_timestamp | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
+---------------+------------+--------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

Související odkazy

Externí odkazy