Příručka:Databázová tabulka categorylinks
↑ 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
acl_to
(pro případ úpravy článku) - Zřetězení
cl_to
,cl_type
,cl_sortkey
acl_from
(pro zobrazení článků v pořadí) - Zřetězení
cl_to
acl_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 | | +-------------------+------------------------------+------+-----+-------------------+-----------------------------+
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
- Příklad Seznam stránek nějaké kategorie.