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.

Protocol-relative links are stored twice in this table as per r102951.

FieldsEdit

el_idEdit

MediaWiki version:
1.22

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

el_fromEdit

The page id of the referring wiki page.

el_toEdit

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

el_indexEdit

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_60Edit

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.


Schema summaryEdit

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    |                |
+--------------------+------------------+------+-----+---------+----------------+
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    |                |
+-------------+------------------+------+-----+---------+----------------+
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    |       |
+----------+-----------------+------+-----+---------+-------+

IndexesEdit

MediaWiki version:
1.40

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      |         |               |
+---------------+------------+----------------------------+--------------+--------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+