Manual:externallinks table

Manual:Contents MediaWiki database layout externallinks table
MediaWiki version:
1.6

The externallinks table is where MediaWiki stores and tracks external links.

Up to version 1.41, protocol-relative links are stored twice in this table as per r102951.

Fields edit

el_id edit

MediaWiki version:
1.22

The primary key. Presently not used for anything, but will help with online schema changes.

el_from edit

The page id of the referring wiki page.

el_to edit

The actual URL itself. It is passed to the browser.

el_index edit

This is the same URL as el_to search-optimized: username and password information is stripped, and the other components are reversed for faster searching, so http://user:password@sub.example.com/page.html becomes http://com.example.sub./page.html, which allows searches of the form 'Show all links pointing to *.example.com'.

el_index_60 edit

MediaWiki version:
1.29

This is el_index truncated to 60 bytes to allow for sortable queries that aren't supported by a partial index.


TODO: Drop the default once this is deployed everywhere and code is populating it.


el_to_domain_index edit

MediaWiki version:
1.40

This is similar to el_index but only includes the protocol specification and domain in reversed, so http://en.wikipedia.org becomes http://org.wikipedia.en..

el_to_path edit

MediaWiki version:
1.40

Only the path of el_to. Example: /wiki/Main_Page

Schema summary edit

MediaWiki version:
1.41
Gerrit change 954900

DESCRIBE externallinks;

+--------------------+------------------+------+-----+---------+----------------+
| Field              | Type             | Null | Key | Default | Extra          |
+--------------------+------------------+------+-----+---------+----------------+
| el_id              | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| el_from            | int(10) unsigned | NO   | MUL | 0       |                |
| el_to_domain_index | varbinary(255)   | NO   | MUL |         |                |
| el_to_path         | blob             | YES  |     | NULL    |                |
+--------------------+------------------+------+-----+---------+----------------+

SHOW INDEX IN externallinks;

+---------------+------------+----------------------------+--------------+--------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Ignored | +---------------+------------+----------------------------+--------------+--------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | externallinks | 0 | PRIMARY | 1 | el_id | A | 0 | NULL | NULL | | BTREE | | | NO | | externallinks | 1 | el_from | 1 | el_from | A | 0 | NULL | NULL | | BTREE | | | NO | | externallinks | 1 | el_to_domain_index_to_path | 1 | el_to_domain_index | A | 0 | NULL | NULL | | BTREE | | | NO | | externallinks | 1 | el_to_domain_index_to_path | 2 | el_to_path | A | 0 | 60 | NULL | YES | BTREE | | | NO | +---------------+------------+----------------------------+--------------+--------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+

MediaWiki version:
1.40

DESCRIBE externallinks;

+--------------------+------------------+------+-----+---------+----------------+
| Field              | Type             | Null | Key | Default | Extra          |
+--------------------+------------------+------+-----+---------+----------------+
| el_id              | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| el_from            | int(10) unsigned | NO   | MUL | 0       |                |
| el_to              | blob             | NO   | MUL | NULL    |                |
| el_index           | blob             | NO   | MUL | NULL    |                |
| el_index_60        | varbinary(60)    | NO   | MUL | NULL    |                |
| el_to_domain_index | varbinary(255)   | NO   | MUL |         |                |
| el_to_path         | blob             | YES  |     | NULL    |                |
+--------------------+------------------+------+-----+---------+----------------+

SHOW INDEX IN externallinks;

+---------------+------------+----------------------------+--------------+--------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +---------------+------------+----------------------------+--------------+--------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | externallinks | 0 | PRIMARY | 1 | el_id | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_from | 1 | el_from | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_to | 1 | el_to | A | 0 | 60 | NULL | | BTREE | | | | externallinks | 1 | el_to | 2 | el_from | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_index | 1 | el_index | A | 0 | 60 | NULL | | BTREE | | | | externallinks | 1 | el_index_60 | 1 | el_index_60 | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_index_60 | 2 | el_id | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_from_index_60 | 1 | el_from | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_from_index_60 | 2 | el_index_60 | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_from_index_60 | 3 | el_id | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_to_domain_index_to_path | 1 | el_to_domain_index | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_to_domain_index_to_path | 2 | el_to_path | A | 0 | 60 | NULL | YES | BTREE | | | +---------------+------------+----------------------------+--------------+--------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

MediaWiki versions:
1.30 – 1.39

DESCRIBE externallinks;

+-------------+------------------+------+-----+---------+----------------+
| Field       | Type             | Null | Key | Default | Extra          |
+-------------+------------------+------+-----+---------+----------------+
| el_id       | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| el_from     | int(10) unsigned | NO   | MUL | 0       |                |
| el_to       | blob             | NO   | MUL | NULL    |                |
| el_index    | blob             | NO   | MUL | NULL    |                |
| el_index_60 | varbinary(60)    | NO   | MUL | NULL    |                |
+-------------+------------------+------+-----+---------+----------------+

SHOW INDEX IN externallinks;

+---------------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +---------------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | externallinks | 0 | PRIMARY | 1 | el_id | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_from | 1 | el_from | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_from | 2 | el_to | A | 0 | 40 | NULL | | BTREE | | | | externallinks | 1 | el_to | 1 | el_to | A | 0 | 60 | NULL | | BTREE | | | | externallinks | 1 | el_to | 2 | el_from | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_index | 1 | el_index | A | 0 | 60 | NULL | | BTREE | | | | externallinks | 1 | el_index_60 | 1 | el_index_60 | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_index_60 | 2 | el_id | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_from_index_60 | 1 | el_from | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_from_index_60 | 2 | el_index_60 | A | 0 | NULL | NULL | | BTREE | | | | externallinks | 1 | el_from_index_60 | 3 | el_id | A | 0 | NULL | NULL | | BTREE | | | +---------------+------------+------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

MediaWiki version:
1.29

DESCRIBE externallinks;

+-------------+------------------+------+-----+---------+----------------+
| Field       | Type             | Null | Key | Default | Extra          |
+-------------+------------------+------+-----+---------+----------------+
| el_id       | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| el_from     | int(10) unsigned | NO   | MUL | 0       |                |
| el_to       | blob             | NO   | MUL | NULL    |                |
| el_index    | blob             | NO   | MUL | NULL    |                |
| el_index_60 | varbinary(60)    | NO   | MUL |         |                |
+-------------+------------------+------+-----+---------+----------------+
MediaWiki versions:
1.22 – 1.28

DESCRIBE externallinks;

+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| el_id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| el_from  | int(10) unsigned | NO   | MUL | 0       |                |
| el_to    | blob             | NO   | MUL | NULL    |                |
| el_index | blob             | NO   | MUL | NULL    |                |
+----------+------------------+------+-----+---------+----------------+
MediaWiki versions:
1.10 – 1.21

DESCRIBE externallinks;

+----------+------------------+------+-----+---------+-------+
| Field    | Type             | Null | Key | Default | Extra |
+----------+------------------+------+-----+---------+-------+
| el_from  | int(10) unsigned | NO   | MUL | 0       |       |
| el_to    | blob             | NO   | MUL | NULL    |       |
| el_index | blob             | NO   | MUL | NULL    |       |
+----------+------------------+------+-----+---------+-------+
MediaWiki versions:
1.6 – 1.9

DESCRIBE externallinks;

+----------+-----------------+------+-----+---------+-------+
| Field    | Type            | Null | Key | Default | Extra |
+----------+-----------------+------+-----+---------+-------+
| el_from  | int(8) unsigned | NO   | MUL | 0       |       |
| el_to    | blob            | NO   | MUL | NULL    |       |
| el_index | blob            | NO   | MUL | NULL    |       |
+----------+-----------------+------+-----+---------+-------+