Springle has uploaded a new change for review. https://gerrit.wikimedia.org/r/222538
Change subject: s7 pager slave partitioning ...................................................................... s7 pager slave partitioning Change-Id: I7f72c828fa87491c040ef73739f9f4e2adb4ac57 --- A dbtools/s7-pager.sql 1 file changed, 310 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/software refs/changes/38/222538/1 diff --git a/dbtools/s7-pager.sql b/dbtools/s7-pager.sql new file mode 100644 index 0000000..d0e3219 --- /dev/null +++ b/dbtools/s7-pager.sql @@ -0,0 +1,310 @@ +-- arwiki + + select 1 as n, count(rev_user) from arwiki.revision where rev_user < 1 +union select 100000 as n, count(rev_user) from arwiki.revision where rev_user >= 1 and rev_user < 100000 +union select 150000 as n, count(rev_user) from arwiki.revision where rev_user >= 100000 and rev_user < 150000 +union select 250000 as n, count(rev_user) from arwiki.revision where rev_user >= 150000 and rev_user < 250000 +union select 1000000 as n, count(rev_user) from arwiki.revision where rev_user >= 250000 and rev_user < 1000000 +union select 2000000 as n, count(rev_user) from arwiki.revision where rev_user >= 1000000 and rev_user < 2000000; + +ALTER TABLE arwiki.logging + DROP PRIMARY KEY, + ADD PRIMARY KEY (log_id, log_user) + PARTITION BY RANGE (log_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION p150000 VALUES LESS THAN (150000), + PARTITION p250000 VALUES LESS THAN (250000), + PARTITION p1000000 VALUES LESS THAN (1000000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +ALTER TABLE arwiki.revision + DROP PRIMARY KEY, + DROP INDEX rev_id, + ADD PRIMARY KEY (rev_id, rev_user) + PARTITION BY RANGE (rev_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION p150000 VALUES LESS THAN (150000), + PARTITION p250000 VALUES LESS THAN (250000), + PARTITION p1000000 VALUES LESS THAN (1000000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +-- cawiki + + select 1 as n, count(rev_user) from cawiki.revision where rev_user < 1 +union select 10000 as n, count(rev_user) from cawiki.revision where rev_user >= 1 and rev_user < 10000 +union select 1000000 as n, count(rev_user) from cawiki.revision where rev_user >= 10000 and rev_user < 1000000; + +ALTER TABLE cawiki.logging + DROP PRIMARY KEY, + ADD PRIMARY KEY (log_id, log_user) + PARTITION BY RANGE (log_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p10000 VALUES LESS THAN (10000), + PARTITION p1000000 VALUES LESS THAN (1000000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +ALTER TABLE cawiki.revision + DROP PRIMARY KEY, + DROP INDEX rev_id, + ADD PRIMARY KEY (rev_id, rev_user) + PARTITION BY RANGE (rev_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p10000 VALUES LESS THAN (10000), + PARTITION p1000000 VALUES LESS THAN (1000000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +-- eswiki + + select 1 as n, count(rev_user) from eswiki.revision where rev_user < 1 +union select 10000 as n, count(rev_user) from eswiki.revision where rev_user >= 1 and rev_user < 10000 +union select 100000 as n, count(rev_user) from eswiki.revision where rev_user >= 10000 and rev_user < 100000 +union select 200000 as n, count(rev_user) from eswiki.revision where rev_user >= 100000 and rev_user < 200000 +union select 300000 as n, count(rev_user) from eswiki.revision where rev_user >= 200000 and rev_user < 300000 +union select 400000 as n, count(rev_user) from eswiki.revision where rev_user >= 300000 and rev_user < 400000 +union select 500000 as n, count(rev_user) from eswiki.revision where rev_user >= 400000 and rev_user < 500000 +union select 1000000 as n, count(rev_user) from eswiki.revision where rev_user >= 500000 and rev_user < 1000000 +union select 2000000 as n, count(rev_user) from eswiki.revision where rev_user >= 1000000 and rev_user < 2000000 +union select 3000000 as n, count(rev_user) from eswiki.revision where rev_user >= 2000000 and rev_user < 3000000; + +ALTER TABLE eswiki.logging + DROP PRIMARY KEY, + ADD PRIMARY KEY (log_id, log_user) + PARTITION BY RANGE (log_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p10000 VALUES LESS THAN (10000), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION p200000 VALUES LESS THAN (200000), + PARTITION p300000 VALUES LESS THAN (300000), + PARTITION p400000 VALUES LESS THAN (400000), + PARTITION p500000 VALUES LESS THAN (500000), + PARTITION p1000000 VALUES LESS THAN (1000000), + PARTITION p2000000 VALUES LESS THAN (2000000), + PARTITION p3000000 VALUES LESS THAN (3000000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +ALTER TABLE eswiki.revision + DROP PRIMARY KEY, + DROP INDEX rev_id, + ADD PRIMARY KEY (rev_id, rev_user) + PARTITION BY RANGE (rev_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p10000 VALUES LESS THAN (10000), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION p200000 VALUES LESS THAN (200000), + PARTITION p300000 VALUES LESS THAN (300000), + PARTITION p400000 VALUES LESS THAN (400000), + PARTITION p500000 VALUES LESS THAN (500000), + PARTITION p1000000 VALUES LESS THAN (1000000), + PARTITION p2000000 VALUES LESS THAN (2000000), + PARTITION p3000000 VALUES LESS THAN (3000000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +-- fawiki + + select 1 as n, count(rev_user) from fawiki.revision where rev_user < 1 +union select 10000 as n, count(rev_user) from fawiki.revision where rev_user >= 1 and rev_user < 10000 +union select 10000 as n, count(rev_user) from fawiki.revision where rev_user >= 10000 and rev_user < 100000 +union select 10000 as n, count(rev_user) from fawiki.revision where rev_user >= 100000 and rev_user < 200000 +union select 10000 as n, count(rev_user) from fawiki.revision where rev_user >= 200000 and rev_user < 300000 +union select 10000 as n, count(rev_user) from fawiki.revision where rev_user >= 300000 and rev_user < 400000 +union select 1000000 as n, count(rev_user) from fawiki.revision where rev_user >= 400000 and rev_user < 1000000; + +ALTER TABLE fawiki.logging + DROP PRIMARY KEY, + ADD PRIMARY KEY (log_id, log_user) + PARTITION BY RANGE (log_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p10000 VALUES LESS THAN (10000), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION p200000 VALUES LESS THAN (200000), + PARTITION p300000 VALUES LESS THAN (300000), + PARTITION p400000 VALUES LESS THAN (400000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +ALTER TABLE fawiki.revision + DROP PRIMARY KEY, + DROP INDEX rev_id, + ADD PRIMARY KEY (rev_id, rev_user) + PARTITION BY RANGE (rev_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p10000 VALUES LESS THAN (10000), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION p200000 VALUES LESS THAN (200000), + PARTITION p300000 VALUES LESS THAN (300000), + PARTITION p400000 VALUES LESS THAN (400000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +-- hewiki + + select 1 as n, count(rev_user) from hewiki.revision where rev_user < 1 +union select 100000 as n, count(rev_user) from hewiki.revision where rev_user >= 1 and rev_user < 100000 +union select 1000000 as n, count(rev_user) from hewiki.revision where rev_user >= 100000 and rev_user < 1000000; + +ALTER TABLE hewiki.logging + DROP PRIMARY KEY, + ADD PRIMARY KEY (log_id, log_user) + PARTITION BY RANGE (log_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +ALTER TABLE hewiki.revision + DROP PRIMARY KEY, + DROP INDEX rev_id, + ADD PRIMARY KEY (rev_id, rev_user) + PARTITION BY RANGE (rev_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +-- huwiki + + select 1 as n, count(rev_user) from huwiki.revision where rev_user < 1 +union select 100000 as n, count(rev_user) from huwiki.revision where rev_user >= 1 and rev_user < 100000 +union select 1000000 as n, count(rev_user) from huwiki.revision where rev_user >= 100000 and rev_user < 1000000; + +ALTER TABLE huwiki.logging + DROP PRIMARY KEY, + ADD PRIMARY KEY (log_id, log_user) + PARTITION BY RANGE (log_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +ALTER TABLE huwiki.revision + DROP PRIMARY KEY, + DROP INDEX rev_id, + ADD PRIMARY KEY (rev_id, rev_user) + PARTITION BY RANGE (rev_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +-- kowiki + + select 1 as n, count(rev_user) from kowiki.revision where rev_user < 1 +union select 100000 as n, count(rev_user) from kowiki.revision where rev_user >= 1 and rev_user < 100000 +union select 1000000 as n, count(rev_user) from kowiki.revision where rev_user >= 100000 and rev_user < 1000000; + +ALTER TABLE kowiki.logging + DROP PRIMARY KEY, + ADD PRIMARY KEY (log_id, log_user) + PARTITION BY RANGE (log_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +ALTER TABLE kowiki.revision + DROP PRIMARY KEY, + DROP INDEX rev_id, + ADD PRIMARY KEY (rev_id, rev_user) + PARTITION BY RANGE (rev_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +-- metawiki + + select 1 as n, count(rev_user) from metawiki.revision where rev_user < 1 +union select 100000 as n, count(rev_user) from metawiki.revision where rev_user >= 1 and rev_user < 100000 +union select 500000 as n, count(rev_user) from metawiki.revision where rev_user >= 100000 and rev_user < 500000 +union select 1000000 as n, count(rev_user) from metawiki.revision where rev_user >= 500000 and rev_user < 1000000 +union select 9000000 as n, count(rev_user) from metawiki.revision where rev_user >= 1000000 and rev_user < 9000000; + +ALTER TABLE metawiki.logging + DROP PRIMARY KEY, + ADD PRIMARY KEY (log_id, log_user) + PARTITION BY RANGE (log_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION p500000 VALUES LESS THAN (500000), + PARTITION p1000000 VALUES LESS THAN (1000000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +ALTER TABLE metawiki.revision + DROP PRIMARY KEY, + DROP INDEX rev_id, + ADD PRIMARY KEY (rev_id, rev_user) + PARTITION BY RANGE (rev_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION p500000 VALUES LESS THAN (500000), + PARTITION p1000000 VALUES LESS THAN (1000000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +-- rowiki + + select 1 as n, count(rev_user) from rowiki.revision where rev_user < 1 +union select 100000 as n, count(rev_user) from rowiki.revision where rev_user >= 1 and rev_user < 100000 +union select 1000000 as n, count(rev_user) from rowiki.revision where rev_user >= 100000 and rev_user < 1000000; + +ALTER TABLE rowiki.logging + DROP PRIMARY KEY, + ADD PRIMARY KEY (log_id, log_user) + PARTITION BY RANGE (log_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +ALTER TABLE rowiki.revision + DROP PRIMARY KEY, + DROP INDEX rev_id, + ADD PRIMARY KEY (rev_id, rev_user) + PARTITION BY RANGE (rev_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +-- ukwiki + + select 1 as n, count(rev_user) from ukwiki.revision where rev_user < 1 +union select 100000 as n, count(rev_user) from ukwiki.revision where rev_user >= 1 and rev_user < 100000 +union select 1000000 as n, count(rev_user) from ukwiki.revision where rev_user >= 100000 and rev_user < 1000000; + +ALTER TABLE ukwiki.logging + DROP PRIMARY KEY, + ADD PRIMARY KEY (log_id, log_user) + PARTITION BY RANGE (log_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +ALTER TABLE ukwiki.revision + DROP PRIMARY KEY, + DROP INDEX rev_id, + ADD PRIMARY KEY (rev_id, rev_user) + PARTITION BY RANGE (rev_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +-- viwiki + + select 1 as n, count(rev_user) from viwiki.revision where rev_user < 1 +union select 100000 as n, count(rev_user) from viwiki.revision where rev_user >= 1 and rev_user < 100000 +union select 200000 as n, count(rev_user) from viwiki.revision where rev_user >= 100000 and rev_user < 200000 +union select 300000 as n, count(rev_user) from viwiki.revision where rev_user >= 200000 and rev_user < 300000 +union select 1000000 as n, count(rev_user) from viwiki.revision where rev_user >= 300000 and rev_user < 1000000; + +ALTER TABLE viwiki.logging + DROP PRIMARY KEY, + ADD PRIMARY KEY (log_id, log_user) + PARTITION BY RANGE (log_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION p200000 VALUES LESS THAN (200000), + PARTITION p300000 VALUES LESS THAN (300000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); + +ALTER TABLE viwiki.revision + DROP PRIMARY KEY, + DROP INDEX rev_id, + ADD PRIMARY KEY (rev_id, rev_user) + PARTITION BY RANGE (rev_user) ( + PARTITION p1 VALUES LESS THAN (1), + PARTITION p100000 VALUES LESS THAN (100000), + PARTITION p200000 VALUES LESS THAN (200000), + PARTITION p300000 VALUES LESS THAN (300000), + PARTITION pMAXVALUE VALUES LESS THAN MAXVALUE ); -- To view, visit https://gerrit.wikimedia.org/r/222538 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7f72c828fa87491c040ef73739f9f4e2adb4ac57 Gerrit-PatchSet: 1 Gerrit-Project: operations/software Gerrit-Branch: master Gerrit-Owner: Springle <sprin...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits