PennyDreadfulMTG / perf-reports

2 stars 7 forks source link

Exceeded slow_query limit (65.7 > 2.0) in mysql: ``` #63407

Open vorpal-buildbot opened 3 months ago

vorpal-buildbot commented 3 months ago
    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 65.7, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

vorpal-buildbot commented 3 months ago

Exceeded slow_query limit (64.2 > 2.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 64.2, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 3 months ago

Exceeded slow_query limit (72.7 > 5.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 72.7, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 3 months ago

Exceeded slow_query limit (62.8 > 5.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 62.8, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 3 months ago

Exceeded slow_query limit (69.3 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 69.3, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 3 months ago

Exceeded slow_query limit (64.9 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 64.9, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 3 months ago

Exceeded slow_query limit (74.2 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 74.2, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 3 months ago

Exceeded slow_query limit (77.8 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 77.8, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (67.5 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 67.5, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (64.3 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 64.3, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (69.1 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 69.1, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (65.9 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 65.9, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (63.6 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 63.6, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (64.6 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 64.6, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (66.4 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 66.4, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (65.0 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 65.0, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (61.3 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 61.3, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (66.1 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 66.1, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (66.3 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 66.3, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (66.9 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 66.9, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (74.0 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 74.0, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (68.8 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 68.8, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (66.1 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 66.1, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (69.6 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 69.6, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (64.7 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 64.7, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (72.0 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 72.0, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (67.8 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 67.8, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (67.6 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 67.6, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (72.2 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 72.2, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (67.9 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 67.9, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (68.8 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 68.8, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (66.3 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 66.3, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (65.6 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 65.6, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite

vorpal-buildbot commented 2 months ago

Exceeded slow_query limit (67.0 > 60.0) in mysql: ```

    CREATE TABLE IF NOT EXISTS _new_matchup_stats (
        archetype_id INT NOT NULL,
        opponent_archetype_id INT NOT NULL,
        season_id INT NOT NULL,
        wins INT NOT NULL,
        losses INT NOT NULL,
        draws INT NOT NULL,
        deck_type ENUM('league', 'tournament', 'other') NOT NULL,
        PRIMARY KEY (season_id, archetype_id, opponent_archetype_id, deck_type),
        FOREIGN KEY (season_id) REFERENCES season (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE,
        FOREIGN KEY (opponent_archetype_id) REFERENCES archetype (id) ON UPDATE CASCADE ON DELETE CASCADE
    ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci AS
    SELECT
        a.id AS archetype_id,
        oa.id AS opponent_archetype_id,
        season.season_id,
        SUM(CASE WHEN dm.games > IFNULL(odm.games, 0) THEN 1 ELSE 0 END) AS wins, -- IFNULL so we still count byes as wins.
        SUM(CASE WHEN dm.games < odm.games THEN 1 ELSE 0 END) AS losses,
        SUM(CASE WHEN dm.games = odm.games THEN 1 ELSE 0 END) AS draws,
        (CASE WHEN ct.name = 'League' THEN 'league' WHEN ct.name = 'Gatherling' THEN 'tournament' ELSE 'other' END) AS deck_type
    FROM
        archetype AS a
    INNER JOIN
        deck AS d ON d.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = a.id)
    INNER JOIN
        deck_match AS dm ON d.id = dm.deck_id
    INNER JOIN
        deck_match AS odm ON dm.match_id = odm.match_id AND odm.deck_id <> d.id
    INNER JOIN
        deck AS od ON od.id = odm.deck_id
    INNER JOIN
        archetype AS oa ON od.archetype_id IN (SELECT descendant FROM archetype_closure WHERE ancestor = oa.id)

    LEFT JOIN
        competition AS c ON d.competition_id = c.id
    LEFT JOIN
        competition_series AS cs ON cs.id = c.competition_series_id
    LEFT JOIN
        competition_type AS ct ON ct.id = cs.competition_type_id

    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    GROUP BY
        a.id,
        oa.id,
        season.season_id,
        ct.name
```

[] (slow_query, 67.0, mysql)

Reported on decksite by mysql-perf

Location Hash: 3fc276415163f42b342eaf803b46d7d5bcee90c4

Labels: decksite