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. Note unless $wgRegisterInternalExternals is enabled (it is disabled by default), links to the same server are not recorded.

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

el_to

edit
MediaWiki versions:
1.6 – 1.41
Gerrit change 954900

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

el_index

edit
MediaWiki versions:
1.6 – 1.41
Gerrit change 954900

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 versions:
1.29 – 1.41
Gerrit change 954900

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

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

Indexes

edit
MediaWiki version:
1.41

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_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 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      |         |               |
+---------------+------------+----------------------------+--------------+--------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
MediaWiki versions:
1.30 – 1.39

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