X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=maintenance%2Fmssql%2Ftables.sql;h=ddc37baeeec9dfc565554b669be462bb57acbeda;hp=256ee364d6c3d948273f1b9428ce5daaee1193e1;hb=5473e9e9eeea71b0a32b2b0e703529e196721407;hpb=e758226c91935a1df2b6fd3ed1f18922d8bfb45b diff --git a/maintenance/mssql/tables.sql b/maintenance/mssql/tables.sql index 256ee364d6..ddc37baeee 100644 --- a/maintenance/mssql/tables.sql +++ b/maintenance/mssql/tables.sql @@ -389,11 +389,18 @@ CREATE TABLE /*_*/externallinks ( -- which allows for fast searching for all pages under example.com with the -- clause: -- WHERE el_index LIKE 'http://com.example.%' - el_index nvarchar(450) NOT NULL + el_index nvarchar(450) NOT NULL, + + -- 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_index_60 varbinary(60) NOT NULL default '' ); CREATE INDEX /*i*/el_from ON /*_*/externallinks (el_from); CREATE INDEX /*i*/el_index ON /*_*/externallinks (el_index); +CREATE INDEX /*i*/el_index_60 ON /*_*/externallinks (el_index_60, el_id); +CREATE INDEX /*i*/el_from_index_60 ON /*_*/externallinks (el_from, el_index_60, el_id); -- el_to index intentionally not added; we cannot index nvarchar(max) columns, -- but we also cannot restrict el_to to a smaller column size as the external -- link may be larger. @@ -652,7 +659,6 @@ CREATE TABLE /*_*/oldimage ( CREATE INDEX /*i*/oi_usertext_timestamp ON /*_*/oldimage (oi_user_text,oi_timestamp); CREATE INDEX /*i*/oi_name_timestamp ON /*_*/oldimage (oi_name,oi_timestamp); -CREATE INDEX /*i*/oi_name_archive_name ON /*_*/oldimage (oi_name,oi_archive_name); CREATE INDEX /*i*/oi_sha1 ON /*_*/oldimage (oi_sha1);