Příručka:Databázová 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_fromacl_to(pro případ úpravy článku) - Zřetězení
cl_to,cl_type,cl_sortkeyacl_from(pro zobrazení článků v pořadí) - Zřetězení
cl_toacl_timestamp - cl_collation
Pole
cl_from
Ukládá page.page_id článku, kde byl umístěn odkaz.
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í třídicí klíč, který v závislosti na $wgCategoryCollation může, ale nemusí být čitelný člověkem (ale měl by seřadit ve správném pořadí při porovnávání jako bajtový řetězec) a není platný v UTF-8, kdykoli databáze zkrátí třídicí klíč 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_type
O jaký typ stránky se jedná (file, subcat (podkategorie) nebo page (normální stránka)).
Používá se k tomu, aby bylo možné jednotlivé sekce na stránce kategorie efektivně stránkovat nezávisle na sobě.
cl_collation_id
| Verze MediaWiki: | ≥ 1.44 Gerrit change 1112833 |
Cizí klíč k collation.collation_id.
cl_target_id
| Verze MediaWiki: | ≥ 1.44 Gerrit change 1112833 |
Cizí klíč k linktarget.lt_id.
Odstraněná pole
cl_collation
| Verze MediaWiki: | 1.17 – 1.44 Gerrit change 1182144 |
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_to
| Verze MediaWiki: | ≤ 1.44 Gerrit change 1182144 |
Uloží název požadované kategorie ve formátu page_title (tj. s _ a předponou jmenného prostoru excluding).
Přehled změn ve schématu tabulky
| Verze MediaWiki: | ≥ 1.45 |
DESCRIBE categorylinks;
+-------------------+------------------------------+------+-----+---------------------+-------------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+------------------------------+------+-----+---------------------+-------------------------------+
| cl_from | int(10) unsigned | NO | PRI | 0 | |
| cl_sortkey | varbinary(230) | NO | | | |
| cl_sortkey_prefix | varbinary(255) | NO | | | |
| cl_timestamp | timestamp | NO | | current_timestamp() | on update current_timestamp() |
| cl_type | enum('page','subcat','file') | NO | | page | |
| cl_collation_id | smallint(5) unsigned | NO | | 0 | |
| cl_target_id | bigint(20) unsigned | NO | PRI | NULL | |
+-------------------+------------------------------+------+-----+---------------------+-------------------------------+
| Verze MediaWiki: | 1.44 |
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 | | | |
| cl_type | enum('page','subcat','file') | NO | | page | |
| cl_collation_id | smallint(5) unsigned | NO | | 0 | |
| cl_target_id | bigint(20) unsigned | YES | MUL | NULL | |
+-------------------+------------------------------+------+-----+---------------------+-------------------------------+
| Verze MediaWiki: | 1.17 – 1.43 |
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.44 |
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 | | | | categorylinks | 1 | cl_sortkey_id | 1 | cl_target_id | A | 0 | NULL | NULL | YES | BTREE | | | | categorylinks | 1 | cl_sortkey_id | 2 | cl_type | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 1 | cl_sortkey_id | 3 | cl_sortkey | A | 0 | NULL | NULL | | BTREE | | | | categorylinks | 1 | cl_sortkey_id | 4 | cl_from | A | 0 | NULL | NULL | | BTREE | | | +---------------+------------+---------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
Související odkazy
Webové odkazy
- Příklad Seznam stránek nějaké kategorie.