Manual:langlinks table

From Linux Web Expert

Revision as of 21:24, 4 February 2022 by imported>Shirayuki (Marked this version for translation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Manual:Contents <translate> MediaWiki database layout</translate> <translate> <tvar name=1>langlinks</tvar> table</translate>
MediaWiki version:
<translate> ≥</translate> 1.7

The langlinks table tracks Interlanguage links .

This table is used for displaying pages, as a quick means to find the links that typically appear in the left margin, underneath the navigational and toolbox links. Without this table, MediaWiki would have to parse through the wikitext for each page display. The table has a primary key on page (ll_from) and target language (ll_lang), so each page can only store one link per language.

The table has three columns: ll_from (an integer), ll_lang (35 characters), ll_title (255 characters). If the wiki page "Sweden" contains the interlanguage link [[fr:Suède]], then ll_from will indicate the page Sweden where the link goes from, ll_lang will be "fr" and ll_title will be "Suède". In February 2009 for the Swedish language Wikipedia, this table has 3.2 million rows, of which 145,000 (4.5 %) have ll_lang "fr".

As a side effect of having this table, you can:

  • Find out which are the most popular target languages: SELECT COUNT(*), ll_lang FROM langlinks GROUP BY 2 ORDER BY 1 DESC LIMIT 20;
  • Find out which pages have the most interlanguage links: SELECT COUNT(*), ll_from FROM langlinks GROUP BY 2 ORDER BY 1 DESC LIMIT 20;
    (But then you would need to translate ll_from into useful page names.)
  • Interlanguage link statistics are included in the monthly Wikipedia statistics.
  • Interlanguage links are often referred to as interwiki links. For example, interlanguage links are updated by so-called "interwiki bots". While this table can have millions of rows, the interwiki table typically only has a few hundred.
  • ll_title is a single varchar string, to be used in the URL on the target language wiki. This table alone is not sufficient to determine if that link is unique, since it could lead to a redirect or a namespace alias. For example, the interlanguage links [[fr:Catégorie:Suède]] and [[fr:Category:Suède]] are synonymous even though the namespace is spelled differently.

Fields

ll_from

page_id of the referring page.

ll_lang

Language code of the target, in the ISO 639-1 standard.

ll_title

Title of the target, including namespace (FULLPAGENAMEE style).

Schema summary

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar name=1>1.41</tvar></translate>">
<translate> ≥</translate> 1.35
Gerrit change 597664
<translate> MediaWiki version:</translate>

DESCRIBE langlinks;

+----------+------------------+------+-----+---------+-------+
| Field    | Type             | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+-------+
| ll_from  | int(10) unsigned | NO   | PRI | 0       |       |
| ll_lang  | varbinary(35)    | NO   | PRI |         |       |
| ll_title | varbinary(255)   | NO   |     |         |       |
+----------+------------------+------+-----+---------+-------+
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.34</tvar> is unsupported version</translate>">
1.10 – 1.34
<translate> MediaWiki versions:</translate>

DESCRIBE langlinks;

+----------+------------------+------+-----+---------+-------+
| Field    | Type             | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+-------+
| ll_from  | int(10) unsigned | NO   | PRI | 0       |       |
| ll_lang  | varbinary(20)    | NO   | PRI |         |       |
| ll_title | varbinary(255)   | NO   |     |         |       |
+----------+------------------+------+-----+---------+-------+
<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.9</tvar> is unsupported version</translate>">
1.7 – 1.9
<translate> MediaWiki versions:</translate>

DESCRIBE langlinks;

+----------+---------------------+------+-----+---------+-------+
| Field    | Type                | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+-------+
| ll_from  | int(8) unsigned     | NO   | PRI | 0       |       |
| ll_lang  | varchar(10) binary  | NO   | PRI | NULL    |       |
| ll_title | varchar(255) binary | NO   |     | NULL    |       |
+----------+---------------------+------+-----+---------+-------+

Indexes

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar name=1>1.41</tvar></translate>">
<translate> ≥</translate> 1.30
<translate> MediaWiki version:</translate>

SHOW INDEX IN langlinks;

+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table     | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| langlinks |          0 | PRIMARY  |            1 | ll_from     | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| langlinks |          0 | PRIMARY  |            2 | ll_lang     | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| langlinks |          1 | ll_lang  |            1 | ll_lang     | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| langlinks |          1 | ll_lang  |            2 | ll_title    | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+