PennyDreadfulMTG / perf-reports

2 stars 7 forks source link

Exceeded slow_query limit (41.0 > 1.0) in mysql: ``` #63212

Open vorpal-buildbot opened 3 months ago

vorpal-buildbot commented 3 months ago
    SELECT

    d.id,
    d.finish,
    d.decklist_hash,
    cache.active_date,
    cache.wins,
    cache.losses,
    cache.draws,
    cache.color_sort,
    ct.name AS competition_type_name,
    COUNT(*) OVER () AS total

    FROM
        deck AS d

    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 cache ON d.id = cache.deck_id
    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    WHERE
        (d.id IN (SELECT deck_id FROM deck_card WHERE card IN ('Thaumatic Compass', 'Benevolent Bodyguard', 'Glacial Fortress', 'Burst Lightning', 'Sylvan Library', 'Champion of the Parish', 'Dreadhorde Butcher', 'Out of Air', 'Deep-Cavern Bat', 'Cave of the Frost Dragon', 'Spring-Loaded Sawblades', 'Detention Sphere', 'Ghoulsteed', 'Temple of Enlightenment', 'Balustrade Spy', 'Llanowar Wastes', 'Sea Gate Oracle', 'Snarling Gorehound', 'No More Lies', 'Dread Wanderer', 'Spirited Companion', 'Furycalm Snarl', 'Absorb', 'Raise the Alarm', 'Genesis', 'Golgari Grave-Troll', 'Tomb of Urami', 'Chancellor of the Annex', 'Soul Search', 'Spark Spray', 'Beckon Apparition', 'Guardian of Ghirapur', 'Goblin Bombardment', 'Gilt-Leaf Palace', 'Forbid', 'Forsake the Worldly', 'Novice Inspector', 'Laboratory Maniac', 'Insidious Roots', 'Hex Parasite', 'Shizo, Death''s Storehouse', 'Isolated Chapel', 'Buried Treasure', 'Scavenging Ooze', 'Gideon, Ally of Zendikar', 'Lounge', 'Field of the Dead', 'Tranquil Thicket', 'Dig Through Time', 'Deduce', 'Gisela, the Broken Blade', 'Heartflame Duelist', 'Woodland Cemetery', 'Rugged Prairie', 'Thalia''s Lieutenant', 'Jace, Architect of Thought', 'Quicksand', 'Obscura Storefront', 'Lightning Rift', 'Thassa''s Intervention', 'Mox Tantalite', 'Teachings of the Kirin', 'Touch the Spirit Realm', 'Djeru''s Renunciation', 'Corrupted Conviction', 'Celestial Colonnade', 'Price of Progress', 'Forsaken Miner', 'Gather the Townsfolk', 'Kellan, Daring Traveler', 'The Raven''s Warning', 'Clifftop Retreat', 'Study', 'Sleight of Hand', 'Bitter Triumph', 'Vadmir, New Blood', 'Path to Exile', 'Wrath of God', 'Kaito, Dancing Shadow', 'Irrigated Farmland', 'Cabal Therapist', 'Freestrider Lookout', 'Damn', 'Kazandu Mammoth', 'Necroblossom Snarl', 'Temple of Deceit', 'Requisition Raid', 'Nimble Obstructionist', 'Dragonskull Summit', 'Caves of Koilos', 'Azami, Lady of Scrolls', 'Festering Gulch', 'Judith, the Scourge Diva', 'Condemn', 'Thalia, Guardian of Thraben', 'Timeless Dragon', 'Undercity Informer', 'Scattered Groves', 'Blade Splicer', 'Jund Panorama', 'Teleportation Circle', 'Venser, Shaper Savant', 'Nimbus Maze', 'Angel of Glory''s Rise', 'Mu Yanling, Sky Dancer', 'Attrition', 'Zof Consumption', 'Boromir, Warden of the Tower', 'Akroma''s Blessing', 'Repeal', 'Secluded Steppe', 'Vraska, Golgari Queen', 'Prairie Stream', 'Horned Loch-Whale', 'Intangible Virtue', 'Foreboding Ruins', 'Day of Judgment', 'Hogaak, Arisen Necropolis', 'Sweltering Suns', 'Battlefield Forge', 'Temple of Silence', 'Silence', 'Yorion, Sky Nomad', 'Okina, Temple to the Grandfathers', 'Flowering of the White Tree', 'Skirsdag High Priest', 'Hissing Quagmire', 'Commune with the Gods', 'Dream Trawler', 'Riveteers Overlook', 'Tireless Tracker', 'Sheltered Thicket', 'Everflowing Chalice', 'Sphere of the Suns', 'Search for Azcanta', 'Valakut Awakening', 'Graven Cairns', 'Dawn of Hope', 'Zenith Flare', 'Castle Vantress', 'Ondu Inversion', 'Clay-Fired Bricks', 'Temple of Malady', 'Flourishing Fox', 'Footfall Crater', 'Tectonic Reformation', 'Escape Tunnel', 'Restoration Angel', 'Fourth Bridge Prowler', 'Dread Return', 'Dreadhorde Invasion', 'Vraan, Executioner Thane', 'Soldier of the Pantheon', 'Hagra Mauling', 'Abrupt Decay', 'Aftermath Analyst', 'Bloodsoaked Champion', 'The Eternal Wanderer', 'Dark Confidant', 'Legion''s Landing', 'Twining Twins', 'Rubblebelt Maverick', 'Decree of Justice', 'Narcomoeba', 'Circuit Mender', 'Cavalier of Dawn', 'Go for Blood', 'Shambling Vent', 'Mystic Gate', 'Mesmeric Fiend', 'Phantom Interference'))) AND (TRUE)
    GROUP BY 
        d.id,
        d.competition_id, -- Every deck has only one competition_id but if we want to use competition_id in the HAVING clause we need this.
        season.season_id -- In theory this is not necessary as all decks are in a single season and we join on the date but MySQL cannot work that out so give it the hint it needs.

    HAVING
        TRUE
    ORDER BY
        active_date DESC, d.finish IS NULL, d.finish

```

[] (slow_query, 41.0, mysql)

Reported on decksite by mysql-perf

Location Hash: 533bd47e58c956a670b115636d4f3a60a494f851

vorpal-buildbot commented 3 months ago

Exceeded slow_query limit (34.8 > 1.0) in mysql: ```

    SELECT

    d.id,
    d.finish,
    d.decklist_hash,
    cache.active_date,
    cache.wins,
    cache.losses,
    cache.draws,
    cache.color_sort,
    ct.name AS competition_type_name,
    COUNT(*) OVER () AS total

    FROM
        deck AS d

    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 cache ON d.id = cache.deck_id
    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    WHERE
        (d.id IN (SELECT deck_id FROM deck_card WHERE card IN ('High-Speed Hoverbike', 'Tectonic Reformation', 'Seaside Citadel', 'Cloudpost', 'Rootbound Crag', 'Kaleidostone', 'Spirited Companion', 'Cave of the Frost Dragon', 'Zof Consumption', 'Matzalantli, the Great Door', 'Hagra Mauling', 'Dig Through Time', 'Djeru''s Renunciation', 'Touch the Spirit Realm', 'Brushland', 'Horned Loch-Whale', 'Raise the Alarm', 'Valakut Awakening', 'Shambling Vent', 'Blade Splicer', 'Inventors'' Fair', 'Lost in the Maze', 'Lightning Rift', 'Jace, Architect of Thought', 'Sleeper Dart', 'Secret Passage', 'Flourishing Fox', 'Birds of Paradise', 'Mystic Gate', 'Isolated Chapel', 'Meria, Scholar of Antiquity', 'Breeches, Eager Pillager', 'Desolate Lighthouse', 'Deduce', 'Conduit Pylons', 'Thaumatic Compass', 'Faithless Salvaging', 'Malcolm, the Eyes', 'Spyglass Siren', 'Mobilization', 'Chancellor of the Annex', 'Gather the Townsfolk', 'Sea Gate Oracle', 'Search for Azcanta', 'Crawling Barrens', 'Dread Return', 'Treasure Map', 'Merchant of the Vale', 'Temple of Silence', 'Zirda, the Dawnwaker', 'Silence', 'Day of Judgment', 'Dire Fleet Daredevil', 'Metallic Mimic', 'Wrath of God', 'Eye of Vecna', 'Requisition Raid', 'Intangible Virtue', 'Everflowing Chalice', 'Mortarpod', 'Temple of Enlightenment', 'Prophetic Prism', 'Go for Blood', 'Nimbus Maze', 'Scattered Groves', 'Kumano Faces Kakkazan', 'Metalspinner''s Puzzleknot', 'Flooded Grove', 'Thassa''s Intervention', 'Emmara, Soul of the Accord', 'Wanderwine Hub', 'Arc Trail', 'Golden Egg', 'Forsake the Worldly', 'Zenith Flare', 'Repeal', 'Balustrade Spy', 'Ashiok, Nightmare Weaver', 'The Raven''s Warning', 'Novice Inspector', 'Restless Spire', 'Temple of Deceit', 'Ondu Inversion', 'Celestial Colonnade', 'Insolent Neonate', 'No More Lies', 'Obscura Charm', 'Timeless Dragon', 'Glare of Subdual', 'Hazoret the Fervent', 'Mogg Fanatic', 'Demigod of Revenge', 'Verity Circle', 'Sphere of the Suns', 'Scrap Trawler', 'Spark Spray', 'Staunch Crewmate', 'Spell Pierce', 'Burst Lightning', 'Shinka, the Bloodsoaked Keep', 'Loam Dryad', 'Andúril, Flame of the West', 'Beckon Apparition', 'Clifftop Retreat', 'Stromkirk Noble', 'Yavimaya Coast', 'Sulfuric Vortex', 'Ghoulsteed', 'Flame Javelin', 'Out of Air', 'Guardian of Ghirapur', 'Rabbit Battery', 'Kazandu Mammoth', 'Buried Treasure', 'Study', 'Field of the Dead', 'Sheltered Thicket', 'Akroma''s Blessing', 'Angel of Glory''s Rise', 'Captain Storm, Cosmium Raider', 'Caves of Koilos', 'Inferno Titan', 'Metalwork Colossus', 'Castle Vantress', 'Mox Tantalite', 'Pest Infestation', 'Scene of the Crime', 'Semblance Anvil', 'The Shire', 'Legion''s Landing', 'Dark Confidant', 'Detention Sphere', 'Dawn of Hope', 'Thief of Sanity', 'Bonfire of the Damned', 'Ash Zealot', 'Barbarian Ring', 'Path to Exile', 'Decree of Justice', 'Sulfur Falls', 'Reckless Waif', 'Ballroom', 'Laboratory Maniac', 'Figure of Destiny', 'Dream Trawler', 'Irrigated Farmland', 'Undercity Informer', 'Sweltering Suns', 'Intruder Alarm', 'Azami, Lady of Scrolls', 'Kitesail Larcenist', 'Absorb', 'Yorion, Sky Nomad', 'Footfall Crater', 'Breeches, the Blastmaker', 'Glacial Fortress', 'Soul Search', 'Stonybrook Schoolmaster', 'Incinerate', 'Circuit Mender', 'Wild Guess', 'Clay-Fired Bricks', 'Venser, Shaper Savant', 'Narcomoeba', 'Siren''s Ruse', 'Damn', 'Moonsnare Prototype', 'Kessig Wolf Run', 'Sanctum of Ugin', 'Surgespanner', 'Twining Twins', 'Wylie Duke, Atiin Hero', 'Monument to Perfection', 'Wooded Bastion', 'Secluded Steppe', 'Reckless Lackey', 'Shivan Reef', 'Phantom Interference', 'Condemn'))) AND (TRUE)
    GROUP BY 
        d.id,
        d.competition_id, -- Every deck has only one competition_id but if we want to use competition_id in the HAVING clause we need this.
        season.season_id -- In theory this is not necessary as all decks are in a single season and we join on the date but MySQL cannot work that out so give it the hint it needs.

    HAVING
        TRUE
    ORDER BY
        active_date DESC, d.finish IS NULL, d.finish

```

[] (slow_query, 34.8, mysql)

Reported on decksite by mysql-perf

Location Hash: 533bd47e58c956a670b115636d4f3a60a494f851

Labels: decksite

vorpal-buildbot commented 3 months ago

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

    SELECT

    d.id,
    d.finish,
    d.decklist_hash,
    cache.active_date,
    cache.wins,
    cache.losses,
    cache.draws,
    cache.color_sort,
    ct.name AS competition_type_name,
    COUNT(*) OVER () AS total

    FROM
        deck AS d

    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 cache ON d.id = cache.deck_id
    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    WHERE
        (d.id IN (SELECT deck_id FROM deck_card WHERE card IN ('Damn', 'Dark Confidant', 'Yahenni''s Expertise', 'Castle Vantress', 'Thalia''s Lieutenant', 'Zenith Flare', 'Forsake the Worldly', 'Phantom Interference', 'Dream Trawler', 'Vedalken Shackles', 'Isamaru, Hound of Konda', 'Nameless Inversion', 'Champion of the Parish', 'Genesis', 'Bloodsoaked Champion', 'Dig Through Time', 'Valentin, Dean of the Vein', 'Timeless Dragon', 'Balustrade Spy', 'Prohibit', 'Akroma''s Blessing', 'Shoot the Sheriff', 'Carth the Lion', 'Laboratory Maniac', 'Jirina, Dauntless General', 'Llanowar Wastes', 'Mikaeus, the Lunarch', 'Hagra Mauling', 'Pteramander', 'Restless Spire', 'Elite Vanguard', 'Undercity Informer', 'Foulmire Knight', 'Vindicate', 'Garruk, Cursed Huntsman', 'Dragonskull Summit', 'Bedlam Reveler', 'Nissa, Voice of Zendikar', 'Autochthon Wurm', 'Glimpse of Tomorrow', 'Soldier of the Pantheon', 'Forlorn Flats', 'Oath of Liliana', 'Calibrated Blast', 'Graven Cairns', 'Eroded Canyon', 'Glacial Fortress', 'Seal of Cleansing', 'Thassa''s Intervention', 'Putrid Imp', 'Foreboding Ruins', 'Captured Sunlight', 'Jagged Barrens', 'Rugged Prairie', 'Twinshot Sniper', 'Deep-Cavern Bat', 'Spell Pierce', 'Azami, Lady of Scrolls', 'Buried Treasure', 'Vexing Devil', 'Boromir, Warden of the Tower', 'Goblin Bombardment', 'Isolated Chapel', 'Hogaak, Arisen Necropolis', 'Price of Progress', 'Wrath of God', 'Birds of Paradise', 'Volcanic Salvo', 'Grim Lavamancer', 'Absorb', 'Stromkirk Noble', 'Deduce', 'Pippin, Guard of the Citadel', 'Day of Judgment', 'Tendo Ice Bridge', 'Sphere of the Suns', 'Order of Midnight', 'Sweltering Suns', 'Garruk Relentless', 'Shadow of Mortality', 'Dread Return', 'Thaumatic Compass', 'Case of the Gateway Express', 'Dwarven Mine', 'Abraded Bluffs', 'Creosote Heath', 'Study', 'Kumano Faces Kakkazan', 'Minas Tirith', 'Benevolent Bodyguard', 'Luminarch Aspirant', 'Silence', 'Forsaken Miner', 'Hissing Quagmire', 'Vraska, Golgari Queen', 'Flowering of the White Tree', 'Forbid', 'Eiganjo Castle', 'Judith, the Scourge Diva', 'Boonweaver Giant', 'Skystrike Officer', 'Earthshaker Khenra', 'Repeal', 'Tempest Djinn', 'Spark Spray', 'Devouring Sugarmaw', 'Narcomoeba', 'Shivan Reef', 'Blinkmoth Infusion', 'Condemn', 'Lightning Rift', 'Golgari Grave-Troll', 'Cave of the Frost Dragon', 'Academy Loremaster', 'Sheltered Thicket', 'Sylvan Caryatid', 'Valakut Awakening', 'Ayli, Eternal Pilgrim', 'Incinerate', 'Scattered Groves', 'Sleight of Hand', 'Ghitu Encampment', 'Student of Warfare', 'Icatian Javelineers', 'Everflowing Chalice', 'Lurrus of the Dream-Den', 'Mystic Gate', 'Urza''s Ruinous Blast', 'Clifftop Retreat', 'Footfall Crater', 'Hope of Ghirapur', 'Tectonic Reformation', 'Lotleth Troll', 'Vadmir, New Blood', 'Deathrite Shaman', 'Murderous Rider', 'Slith Firewalker', 'Sulfur Falls', 'Brute Force', 'Chandra, Pyromaster', 'No More Lies', 'Etali''s Favor', 'Ghoulsteed', 'Search for Azcanta', 'Secluded Steppe', 'Stoic Sphinx', 'Mox Tantalite', 'Woodland Cemetery', 'Chancellor of the Forge', 'Siege-Gang Commander', 'Kazandu Mammoth', 'Flame-Kin Zealot', 'Necroblossom Snarl', 'Bristling Backwoods', 'Call of the Ring', 'Fortified Beachhead', 'Celestial Colonnade', 'Harbin, Vanguard Aviator', 'Ondu Inversion', 'Stensia Bloodhall', 'Irrigated Farmland', 'Frodo, Sauron''s Bane', 'Out of Air', 'Rivendell', 'Garruk Wildspeaker', 'Dreadhorde Butcher', 'Zof Consumption', 'Brushland', 'Shambling Vent', 'Jace, Architect of Thought', 'Chart a Course', 'Markov Blademaster', 'Flourishing Fox', 'Battlefield Forge', 'Horned Loch-Whale', 'Go for Blood', 'Chancellor of the Annex', 'Geological Appraiser', 'Midnight Clock', 'Novice Inspector', 'Path to Exile', 'Anafenza, Kin-Tree Spirit', 'Oliphaunt', 'Djeru''s Renunciation', 'Burst Lightning', 'Vraan, Executioner Thane', 'Vault of the Archangel', 'Glissa Sunslayer', 'Caves of Koilos', 'Goblin Dark-Dwellers', 'Insidious Roots', 'Thalia, Guardian of Thraben', 'Festering Gulch', 'Sphinx''s Revelation', 'Haughty Djinn', 'Abrupt Decay', 'Dawn of Hope', 'Haakon, Stromgald Scourge', 'Angel of Glory''s Rise', 'Kher Keep'))) AND (TRUE)
    GROUP BY 
        d.id,
        d.competition_id, -- Every deck has only one competition_id but if we want to use competition_id in the HAVING clause we need this.
        season.season_id -- In theory this is not necessary as all decks are in a single season and we join on the date but MySQL cannot work that out so give it the hint it needs.

    HAVING
        TRUE
    ORDER BY
        active_date DESC, d.finish IS NULL, d.finish

```

[] (slow_query, 15.8, mysql)

Reported on decksite by mysql-perf

Location Hash: 533bd47e58c956a670b115636d4f3a60a494f851

Labels: decksite

vorpal-buildbot commented 3 months ago

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

    SELECT

    d.id,
    d.finish,
    d.decklist_hash,
    cache.active_date,
    cache.wins,
    cache.losses,
    cache.draws,
    cache.color_sort,
    ct.name AS competition_type_name,
    COUNT(*) OVER () AS total

    FROM
        deck AS d

    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 cache ON d.id = cache.deck_id
    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    WHERE
        (d.id IN (SELECT deck_id FROM deck_card WHERE card IN ('Dread Return', 'Harbin, Vanguard Aviator', 'Balustrade Spy', 'Secluded Steppe', 'Prohibit', 'Hagra Mauling', 'Valakut Awakening', 'Tracker''s Instincts', 'Mystic Gate', 'Eiganjo Castle', 'Glacial Fortress', 'Tithing Blade', 'Stromkirk Noble', 'Touch the Spirit Realm', 'Guardian of Ghirapur', 'Drowned Catacomb', 'Dream Trawler', 'Necroblossom Snarl', 'Haughty Djinn', 'Clifftop Retreat', 'Laboratory Maniac', 'Graven Cairns', 'Thalia''s Lieutenant', 'Temple of Silence', 'Vraan, Executioner Thane', 'Kazandu Mammoth', 'Commune with Spirits', 'Dread Wanderer', 'Autochthon Wurm', 'Itzquinth, Firstborn of Gishath', 'Pteramander', 'Abrupt Decay', 'Sheltered Thicket', 'Llanowar Wastes', 'Scavenger Grounds', 'Go for Blood', 'Isolated Chapel', 'Goblin Bombardment', 'Library', 'Skullcap Snail', 'Forsaken Miner', 'Restless Spire', 'Shadow of Mortality', 'Barbarian Ring', 'Flowering of the White Tree', 'Regrowth', 'Hidden Volcano', 'Rootbound Crag', 'Shriekhorn', 'Desolate Lighthouse', 'Shivan Reef', 'Elite Vanguard', 'Hogaak, Arisen Necropolis', 'Putrid Imp', 'Dark Confidant', 'Price of Progress', 'Chancellor of the Annex', 'Yorion, Sky Nomad', 'Twining Twins', 'Bedlam Reveler', 'Shambling Vent', 'Incinerate', 'Domri, Anarch of Bolas', 'Grozoth', 'Ondu Inversion', 'Lukka, Bound to Ruin', 'Gallia of the Endless Dance', 'Sweltering Suns', 'Skystrike Officer', 'Champion of the Parish', 'Soldier of the Pantheon', 'Bristling Backwoods', 'Zof Consumption', 'Commune with the Gods', 'Hazoret the Fervent', 'Minas Tirith', 'Desert of the Glorified', 'Flourishing Fox', 'Jungle Hollow', 'Crawling Barrens', 'Insidious Roots', 'Judith, the Scourge Diva', 'Logic Knot', 'Angel of Glory''s Rise', 'Footfall Crater', 'Bard Class', 'Blasphemous Act', 'Icatian Javelineers', 'Grave Titan', 'Djeru''s Renunciation', 'Thalia, Guardian of Thraben', 'Vraska the Unseen', 'Calibrated Blast', 'Spirited Companion', 'Vexing Devil', 'Bituminous Blast', 'Temple of Deceit', 'Ghoulsteed', 'Akroma''s Blessing', 'Burst Lightning', 'Sphere of the Suns', 'Golgari Grave-Troll', 'Hidden Nursery', 'Xenagos, the Reveler', 'Chart a Course', 'Rags // Riches', 'Grand Warlord Radha', 'Foul Orchard', 'Genesis', 'Radha, Heart of Keld', 'Searing Spear', 'Cave of the Frost Dragon', 'Ball Lightning', 'Pippin, Guard of the Citadel', 'Lurrus of the Dream-Den', 'Tectonic Reformation', 'Silence', 'Scattered Groves', 'Festering Gulch', 'Detention Sphere', 'Earthshaker Khenra', 'Lounge', 'Raging Ravine', 'Bloodsoaked Champion', 'Rubblebelt Maverick', 'Dreadhorde Butcher', 'Bitter Triumph', 'Yavimaya Coast', 'Irrigated Farmland', 'Boromir, Warden of the Tower', 'Shinka, the Bloodsoaked Keep', 'Jagged Barrens', 'Sulfur Falls', 'Migloz, Maze Crusher', 'Spark Spray', 'Blade Splicer', 'Oath of Chandra', 'Cabal Therapist', 'Wandering Fumarole', 'Azami, Lady of Scrolls', 'Kari Zev, Skyship Raider', 'Soured Springs', 'Celestial Colonnade', 'Buried Treasure', 'Hissing Quagmire', 'Rivendell', 'Argoth, Sanctum of Nature', 'Venser, Shaper Savant', 'Mox Tantalite', 'Mesmeric Fiend', 'Deduce', 'Hajar, Loyal Bodyguard', 'Everflowing Chalice', 'Phantom Interference', 'Lotleth Troll', 'Crypt of Agadeem', 'Zenith Flare', 'Radha, Heir to Keld', 'Circuit Mender', 'Magma Spray', 'Foreboding Ruins', 'Temple of Enlightenment', 'Halana and Alena, Partners', 'Fortified Beachhead', 'Forsake the Worldly', 'Undercity Informer', 'Bomat Courier', 'Field of the Dead', 'Lightning Rift', 'Golgari Guildgate', 'Woodland Cemetery', 'Aftermath Analyst', 'Generator Servant', 'Sea Gate Oracle', 'Game Trail', 'Okina, Temple to the Grandfathers', 'Zurgo Bellstriker', 'No More Lies', 'Tovolar, Dire Overlord', 'Horned Loch-Whale', 'Eroded Canyon', 'Sleight of Hand', 'Narcomoeba', 'Snarling Gorehound', 'Hidden Necropolis'))) AND (TRUE)
    GROUP BY 
        d.id,
        d.competition_id, -- Every deck has only one competition_id but if we want to use competition_id in the HAVING clause we need this.
        season.season_id -- In theory this is not necessary as all decks are in a single season and we join on the date but MySQL cannot work that out so give it the hint it needs.

    HAVING
        TRUE
    ORDER BY
        active_date DESC, d.finish IS NULL, d.finish

```

[] (slow_query, 32.0, mysql)

Reported on decksite by mysql-perf

Location Hash: 533bd47e58c956a670b115636d4f3a60a494f851

Labels: decksite

vorpal-buildbot commented 1 month ago

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

    SELECT

    d.id,
    d.finish,
    d.decklist_hash,
    cache.active_date,
    cache.wins,
    cache.losses,
    cache.draws,
    cache.color_sort,
    ct.name AS competition_type_name,
    COUNT(*) OVER () AS total

    FROM
        deck AS d

    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 cache ON d.id = cache.deck_id
    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    WHERE
        (d.id IN (SELECT deck_id FROM deck_card WHERE card IN ('Path to Exile', 'Food Fight', 'Minas Tirith', 'Terrarion', 'Tireless Tracker', 'Skystrike Officer', 'Grasslands', 'Fortified Beachhead', 'Bloodsoaked Champion', 'Scavenging Ooze', 'Barbarian Ring', 'Promising Vein', 'Nezumi Linkbreaker', 'Open the Way', 'Deduce', 'Crux of Fate', 'Deep-Cavern Bat', 'Draconic Roar', 'Runed Halo', 'Decadent Dragon', 'Solemn Simulacrum', 'Icatian Javelineers', 'Rampaging Spiketail', 'Lord Skitter, Sewer King', 'Brushland', 'Andúril, Flame of the West', 'Tangled Colony', 'Experimental Synthesizer', 'Boromir, Warden of the Tower', 'Karumonix, the Rat King', 'Dreadhorde Butcher', 'Foreboding Ruins', 'Stirring Wildwood', 'Sylvan Library', 'Noxious Gearhulk', 'Scattered Groves', 'Lovestruck Beast', 'Blighted Steppe', 'Conduit Pylons', 'Nahiri, the Unforgiving', 'Call of the Death-Dweller', 'Elite Vanguard', 'Woodland Cemetery', 'Shinka, the Bloodsoaked Keep', 'Garruk Wildspeaker', 'Divest', 'Dread Presence', 'Ichor Rats', 'Grave Titan', 'Temple of Plenty', 'Pack Rat', 'Dreadbore', 'Vraska, Golgari Queen', 'Smoldering Egg', 'Spelunking', 'Canyon Slough', 'Conservatory', 'Akroma''s Memorial', 'Thalia, Guardian of Thraben', 'Eiganjo Castle', 'Erebos''s Intervention', 'Dark Confidant', 'Heartless Summoning', 'Dread Wanderer', 'Thunderbreak Regent', 'Judith, the Scourge Diva', 'Merry, Esquire of Rohan', 'Llanowar Wastes', 'Thalia''s Lieutenant', 'Shoot the Sheriff', 'Frodo, Sauron''s Bane', 'Arch of Orazca', 'Syndicate Trafficker', 'Gavony Township', 'Okina, Temple to the Grandfathers', 'Wooded Bastion', 'Vraan, Executioner Thane', 'Hour of Promise', 'Swarmyard', 'Harbin, Vanguard Aviator', 'Garrison Cat', 'Sylvan Scrying', 'Goblin Bombardment', 'Rugged Prairie', 'Tenacious Underdog', 'Dragonskull Summit', 'Hissing Quagmire', 'Champion of the Parish', 'Mystic Gate', 'Zurgo Bellstriker', 'Taii Wakeen, Perfect Shot', 'Glissa Sunslayer', 'Maestros Theater', 'Graven Cairns', 'Pippin, Guard of the Citadel', 'Gideon, Ally of Zendikar', 'Burning-Rune Demon', 'Rabbit Battery', 'Abrupt Decay', 'Kellan, Daring Traveler', 'Oni-Cult Anvil', 'Azusa, Lost but Seeking', 'Tithing Blade', 'Massacre Wurm', 'Sunpetal Grove', 'Creosote Heath', 'Battlefield Forge', 'Birds of Paradise', 'Maelstrom Pulse', 'Soldier of the Pantheon', 'Murderous Rider', 'Canopy Vista', 'Frodo, Determined Hero', 'Mukotai Ambusher', 'Nameless Inversion', 'Cave of the Frost Dragon', 'Kolaghan, the Storm''s Fury', 'Sandstorm Verge', 'Burst Lightning', 'Dragon Tempest', 'Isamaru, Hound of Konda', 'Gleaming Geardrake', 'Lightning Helix', 'Dragon''s Hoard', 'Rivendell', 'Pest Infestation', 'Tendo Ice Bridge', 'Mesmeric Fiend', 'Scourge of Valkas', 'Restless Prairie', 'Scavenger Grounds', 'Lake of the Dead', 'Typhoid Rats', 'Gyruda, Doom of Depths', 'Tarrian''s Journal', 'Caves of Koilos', 'Sword of Light and Shadow', 'Field of the Dead', 'Forsaken Miner', 'Flowering of the White Tree', 'Tajic, Legion''s Edge', 'Mephitic Draught'))) AND (TRUE)
    GROUP BY 
        d.id,
        d.competition_id, -- Every deck has only one competition_id but if we want to use competition_id in the HAVING clause we need this.
        season.season_id -- In theory this is not necessary as all decks are in a single season and we join on the date but MySQL cannot work that out so give it the hint it needs.

    HAVING
        TRUE
    ORDER BY
        active_date DESC, d.finish IS NULL, d.finish

```

[] (slow_query, 65.0, mysql)

Reported on decksite by mysql-perf

Location Hash: 533bd47e58c956a670b115636d4f3a60a494f851

Labels: decksite

vorpal-buildbot commented 1 month ago

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

    SELECT

    d.id,
    d.finish,
    d.decklist_hash,
    cache.active_date,
    cache.wins,
    cache.losses,
    cache.draws,
    cache.color_sort,
    ct.name AS competition_type_name,
    COUNT(*) OVER () AS total

    FROM
        deck AS d

    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 cache ON d.id = cache.deck_id
    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    WHERE
        (d.id IN (SELECT deck_id FROM deck_card WHERE card IN ('Gideon of the Trials', 'Vessel of Nascency', 'Strangle', 'Stonecoil Serpent', 'Lake of the Dead', 'Kher Keep', 'Kaleidoscorch', 'Absorb', 'Boonweaver Giant', 'Splendid Reclamation', 'Electrolyze', 'Maestros Theater', 'Rewind', 'Deduce', 'Magma Spray', 'Timeless Dragon', 'Glimpse of Tomorrow', 'Disallow', 'Flowering of the White Tree', 'Benevolent Bodyguard', 'Isolated Chapel', 'Kjeldoran Outpost', 'Eiganjo Castle', 'Regrowth', 'Oliphaunt', 'Keep Safe', 'Harbin, Vanguard Aviator', 'Yavimaya Coast', 'Nimbus Maze', 'Pippin, Guard of the Citadel', 'Syr Ginger, the Meal Ender', 'Naru Meha, Master Wizard', 'Brushland', 'Kellan, Daring Traveler', 'Geological Appraiser', 'No More Lies', 'Unholy Strength', 'Ascendant Evincar', 'Ghostly Flicker', 'Eternal Thirst', 'Adventure Awaits', 'Jace Beleren', 'Animation Module', 'Grave Titan', 'Heartflame Duelist', 'Flotsam // Jetsam', 'Kor Spiritdancer', 'Hope of Ghirapur', 'Spell Pierce', 'Requisition Raid', 'Noxious Gearhulk', 'Garrison Cat', 'Intrepid Paleontologist', 'Rivendell', 'Jace, Architect of Thought', 'Nevinyrral''s Disk', 'Obscura Storefront', 'Commune with Nature', 'Disdainful Stroke', 'Arcbound Mouser', 'Skystrike Officer', 'Rain of Revelation', 'Ratchet Bomb', 'Sulfur Falls', 'Castle Vantress', 'Devouring Sugarmaw', 'Fortified Beachhead', 'Cave of the Frost Dragon', 'Champion of the Parish', 'Shambling Vent', 'Volatile Fault', 'Mesmeric Fiend', 'Chancellor of the Forge', 'Wrath of God', 'Horned Loch-Whale', 'Dead Weight', 'Brokers Hideout', 'Heartless Summoning', 'Mu Yanling, Sky Dancer', 'Aetherspouts', 'Arcbound Javelineer', 'River Hoopoe', 'Prohibit', 'Ral, Izzet Viceroy', 'Riveteers Overlook', 'Detention Sphere', 'Gonti, Lord of Luxury', 'Jace, Mirror Mage', 'Elite Vanguard', 'Icatian Javelineers', 'Field of the Dead', 'Vedalken Shackles', 'Hinterland Harbor', 'Path to Exile', 'Tempered Steel', 'Jace, Unraveler of Secrets', 'Pillar of Flame', 'Prairie Stream', 'Sylvan Caryatid', 'Demonic Vigor', 'Dig Through Time', 'Solemn Simulacrum', 'Thassa''s Intervention', 'Boromir, Warden of the Tower', 'Canopy Tactician', 'Hardened Scales', 'Spelunking', 'Cabaretti Courtyard', 'Price of Progress', 'Elvish Archivist', 'Iron Apprentice', 'Luminarch Aspirant', 'Render Silent', 'Scorching Dragonfire', 'Ambassador Laquatus', 'Deviant Glee', 'Sunpetal Grove', 'Birds of Paradise', 'Minas Tirith', 'Wandering Fumarole', 'Glacial Fortress', 'Abrade', 'Forbid', 'Thalia''s Lieutenant', 'Angelic Gift', 'Arcbound Ravager', 'Novice Inspector', 'Oversold Cemetery', 'Twinshot Sniper', 'Siege-Gang Commander', 'Irrigated Farmland', 'Caves of Koilos', 'Massacre Wurm', 'Jace, Memory Adept', 'Soldier of the Pantheon', 'Cartouche of Solidarity', 'Condemn', 'Metallic Mimic', 'Hieroglyphic Illumination', 'Out of Air', 'Sleight of Hand', 'Clifftop Retreat', 'Specter''s Shriek', 'Poison Dart Frog', 'Battlefield Forge', 'Alchemist''s Refuge', 'Flooded Grove', 'Dread Presence', 'Rugged Prairie', 'Phantom Interference', 'Bring to Light', 'Wooded Bastion', 'Dream Trawler', 'Repeal', 'Goblin Dark-Dwellers', 'Sram, Senior Edificer', 'Patchwork Automaton', 'Blinkmoth Nexus', 'Into the Fire', 'Thalia, Guardian of Thraben', 'Arc Trail', 'Wasteful Harvest', 'Celestial Colonnade', 'Steel Overseer', 'Sudden Demise', 'Aftermath Analyst', 'Fire Prophecy', 'Shock', 'Flame-Kin Zealot', 'Restless Spire', 'Glaring Spotlight', 'Mystic Gate', 'Dark Confidant', 'Gyruda, Doom of Depths', 'Search for Azcanta', 'Ghitu Encampment', 'Etali''s Favor', 'Burst Lightning', 'Spell Snuff', 'Arcbound Worker'))) AND (TRUE)
    GROUP BY 
        d.id,
        d.competition_id, -- Every deck has only one competition_id but if we want to use competition_id in the HAVING clause we need this.
        season.season_id -- In theory this is not necessary as all decks are in a single season and we join on the date but MySQL cannot work that out so give it the hint it needs.

    HAVING
        TRUE
    ORDER BY
        active_date DESC, d.finish IS NULL, d.finish

```

[] (slow_query, 64.6, mysql)

Reported on decksite by mysql-perf

Location Hash: 533bd47e58c956a670b115636d4f3a60a494f851

Labels: decksite

vorpal-buildbot commented 1 month ago

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

    SELECT

    d.id,
    d.finish,
    d.decklist_hash,
    cache.active_date,
    cache.wins,
    cache.losses,
    cache.draws,
    cache.color_sort,
    ct.name AS competition_type_name,
    COUNT(*) OVER () AS total

    FROM
        deck AS d

    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 cache ON d.id = cache.deck_id
    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    WHERE
        (d.id IN (SELECT deck_id FROM deck_card WHERE card IN ('Repeal', 'Animation Module', 'Spirited Companion', 'Jace, Architect of Thought', 'Okina, Temple to the Grandfathers', 'Battlefield Forge', 'Flame-Kin Zealot', 'Siege-Gang Commander', 'Andúril, Flame of the West', 'Path to Exile', 'Sulfur Falls', 'Open the Way', 'Minas Tirith', 'Blossoming Sands', 'Breeches, Eager Pillager', 'Eiganjo Castle', 'Akroma''s Memorial', 'Scab-Clan Berserker', 'Incinerate', 'Spyglass Siren', 'Clifftop Retreat', 'Shock', 'Circuit Mender', 'Frantic Scapegoat', 'Warkite Marauder', 'Mystic Gate', 'Kitesail Larcenist', 'Oath of Kaya', 'Canopy Vista', 'Spelunking', 'Hour of Promise', 'Irrigated Farmland', 'Stirring Wildwood', 'Kumano Faces Kakkazan', 'Price of Progress', 'Thalia''s Lieutenant', 'Cunning Coyote', 'Detention Sphere', 'Stromkirk Noble', 'Westvale Abbey', 'Harbin, Vanguard Aviator', 'Isolated Chapel', 'Arcbound Ravager', 'Rabbit Battery', 'Fortified Beachhead', 'Ghitu Encampment', 'Restless Prairie', 'Kaya, Ghost Assassin', 'Earthshaker Khenra', 'Render Silent', 'Runed Halo', 'Pippin, Guard of the Citadel', 'Chancellor of the Forge', 'Blighted Steppe', 'Staunch Crewmate', 'Search for Azcanta', 'Champion of the Parish', 'Shinka, the Bloodsoaked Keep', 'Burst Lightning', 'Gavony Township', 'Conduit Pylons', 'Boromir, Warden of the Tower', 'Shivan Reef', 'Rivendell', 'Geological Appraiser', 'Scattered Groves', 'Yorion, Sky Nomad', 'Azusa, Lost but Seeking', 'Celestial Colonnade', 'Prairie Stream', 'Oliphaunt', 'Icatian Javelineers', 'Tithing Blade', 'Thassa''s Intervention', 'Stonecoil Serpent', 'Twinshot Sniper', 'Daring Buccaneer', 'Malcolm, the Eyes', 'Dig Through Time', 'Tendo Ice Bridge', 'No More Lies', 'Captain Storm, Cosmium Raider', 'Out of Air', 'Sorin, Vengeful Bloodlord', 'Wrath of God', 'Vindicate', 'Rugged Prairie', 'Glimpse of Tomorrow', 'Patchwork Automaton', 'Elite Vanguard', 'Field of the Dead', 'Glacial Fortress', 'Horned Loch-Whale', 'Timeless Dragon', 'Steel Overseer', 'Grasslands', 'Arcbound Worker', 'Ash Zealot', 'Skystrike Officer', 'Zo-Zu the Punisher', 'Guardian of Ghirapur', 'Arch of Orazca', 'Damn', 'Soldier of the Pantheon', 'Temple of Plenty', 'Kher Keep', 'Spell Pierce', 'Conservatory', 'Thalia, Guardian of Thraben', 'Novice Inspector', 'Garrison Cat', 'Hazoret the Fervent', 'Caves of Koilos', 'Arcbound Javelineer', 'Cabaretti Courtyard', 'Wooded Bastion', 'Condemn', 'Iron Apprentice', 'Skullcap Snail', 'Deduce', 'Sylvan Scrying', 'Shambling Vent', 'Barbarian Ring', 'Nurturing Pixie', 'Boonweaver Giant', 'Etali''s Favor', 'Syr Ginger, the Meal Ender', 'Promising Vein', 'Kari Zev, Skyship Raider', 'Brushland', 'Goblin Dark-Dwellers', 'Arcbound Mouser', 'Fortified Village', 'Siren''s Ruse', 'Clay-Fired Bricks', 'Devouring Sugarmaw', 'Flowering of the White Tree', 'Dream Trawler', 'Sunpetal Grove', 'Hardened Scales', 'Cave of the Frost Dragon', 'Icon of Ancestry'))) AND (TRUE)
    GROUP BY 
        d.id,
        d.competition_id, -- Every deck has only one competition_id but if we want to use competition_id in the HAVING clause we need this.
        season.season_id -- In theory this is not necessary as all decks are in a single season and we join on the date but MySQL cannot work that out so give it the hint it needs.

    HAVING
        TRUE
    ORDER BY
        active_date DESC, d.finish IS NULL, d.finish

```

[] (slow_query, 110.5, mysql)

Reported on decksite by mysql-perf

Location Hash: 533bd47e58c956a670b115636d4f3a60a494f851

Labels: decksite

vorpal-buildbot commented 1 month ago

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

    SELECT

    d.id,
    d.finish,
    d.decklist_hash,
    cache.active_date,
    cache.wins,
    cache.losses,
    cache.draws,
    cache.color_sort,
    ct.name AS competition_type_name,
    COUNT(*) OVER () AS total

    FROM
        deck AS d

    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 cache ON d.id = cache.deck_id
    LEFT JOIN deck_cache AS season ON d.id = season.deck_id
    WHERE
        (d.id IN (SELECT deck_id FROM deck_card WHERE card IN ('Temple of Plenty', 'Tireless Tracker', 'Spirited Companion', 'Conservatory', 'Settle the Wreckage', 'Port Town', 'Wasteland Strangler', 'Dread Presence', 'Condemn', 'Open the Way', 'Zombie Infestation', 'Hogaak, Arisen Necropolis', 'Thalia, Guardian of Thraben', 'Luminarch Aspirant', 'Cave of the Frost Dragon', 'Blinkmoth Nexus', 'Azusa, Lost but Seeking', 'Okina, Temple to the Grandfathers', 'Pandemonium', 'Insidious Roots', 'Secluded Courtyard', 'Kaya, Ghost Assassin', 'Fumigate', 'Vindicate', 'Bitter Triumph', 'Parhelion II', 'Kaya the Inexorable', 'Solemn Simulacrum', 'Nine Lives', 'Skysovereign, Consul Flagship', 'Greasefang, Okiba Boss', 'Lively Dirge', 'Twinshot Sniper', 'Timeless Dragon', 'Kellan, Inquisitive Prodigy', 'Field of the Dead', 'Commune with the Gods', 'Overwhelming Splendor', 'Haazda Marshal', 'Lukka, Bound to Ruin', 'Battlefield Forge', 'Blighted Steppe', 'Spring-Loaded Sawblades', 'Arch of Orazca', 'Noxious Gearhulk', 'Golgari Grave-Troll', 'Domri, Anarch of Bolas', 'Detention Sphere', 'Horned Loch-Whale', 'No More Lies', 'Caves of Koilos', 'Yavimaya Coast', 'Boonweaver Giant', 'Jirina, Dauntless General', 'Dream Trawler', 'Search for Azcanta', 'Stirring Wildwood', 'Lake of the Dead', 'Tithing Blade', 'Glimpse of Tomorrow', 'Sylvan Scrying', 'Celestial Colonnade', 'Silver Scrutiny', 'Riveteers Overlook', 'Glacial Fortress', 'Cleansing Nova', 'Guardian of Ghirapur', 'Vineglimmer Snarl', 'Rubblebelt Maverick', 'Firja''s Retribution', 'Scattered Groves', 'Chancellor of the Forge', 'Mystic Snake', 'Rootbound Crag', 'Arcbound Mouser', 'Repeal', 'Jolene, Plundering Pugilist', 'Coveted Falcon', 'Oath of Kaya', 'Restless Prairie', 'Migloz, Maze Crusher', 'Dark Confidant', 'Venser, Shaper Savant', 'Deduce', 'Raffine''s Informant', 'Shizo, Death''s Storehouse', 'Absorb', 'Hieroglyphic Illumination', 'Oversold Cemetery', 'Lotleth Troll', 'Shambling Vent', 'Shardless Agent', 'Hinterland Harbor', 'Conduit Pylons', 'Runed Halo', 'Benevolent Bodyguard', 'Nightpack Ambusher', 'Devouring Sugarmaw', 'Mesmeric Fiend', 'Flame-Kin Zealot', 'Itzquinth, Firstborn of Gishath', 'Isolated Chapel', 'Devastating Mastery', 'Sheltered Thicket', 'Regal Bunnicorn', 'Rugged Prairie', 'Deep-Cavern Bat', 'Ghitu Encampment', 'Kher Keep', 'Prairie Stream', 'Flooded Grove', 'Grave Titan', 'Fire-Lit Thicket', 'Tamiyo''s Safekeeping', 'Clay-Fired Bricks', 'Castle Vantress', 'Creosote Heath', 'Halana and Alena, Partners', 'Damn', 'Out of Air', 'Cunning Nightbonder', 'Sorin, Vengeful Bloodlord', 'Novice Inspector', 'Geological Appraiser', 'Heartless Summoning', 'Corpse Churn', 'Sword of Light and Shadow', 'Siege-Gang Commander', 'Tenacious Underdog', 'Xenagos, the Reveler', 'Bringer of the Last Gift', 'Temple of Mystery', 'Thalia''s Lieutenant', 'Thassa''s Intervention', 'Burst Lightning', 'Raging Ravine', 'Sarcomancy', 'Orator of Ojutai', 'Arcbound Worker', 'Wrath of God', 'Eiganjo Castle', 'Jace, Architect of Thought', 'Llanowar Wastes', 'Scavenger Grounds', 'Champion of the Parish', 'Saproling Burst', 'Hour of Promise', 'Tendo Ice Bridge', 'Unsummon', 'Admiral''s Order', 'Clifftop Retreat', 'Squee, Goblin Nabob', 'Wooded Bastion', 'Volatile Fault', 'Akroma''s Memorial', 'Sulfur Falls', 'Temple of Enlightenment', 'Dragon Turtle', 'Nimbus Maze', 'Fortified Village', 'Elite Spellbinder', 'Sunpetal Grove', 'Etali''s Favor', 'Canopy Vista', 'Gavony Township', 'Arcbound Javelineer', 'Hardened Scales', 'Gallia of the Endless Dance', 'Dig Through Time', 'Radha, Heart of Keld', 'Stonecoil Serpent', 'Hajar, Loyal Bodyguard', 'Botanical Plaza', 'Gonti, Lord of Luxury', 'Kari Zev, Skyship Raider', 'Animation Module', 'Massacre Wurm', 'Bloodsoaked Champion', 'Steel Overseer', 'Gyruda, Doom of Depths', 'Arcbound Ravager', 'Sylvan Library', 'Boromir, Warden of the Tower', 'Frilled Mystic', 'Spelunking', 'Goblin Dark-Dwellers', 'Syr Ginger, the Meal Ender', 'Mystic Gate', 'Yorion, Sky Nomad', 'Grasslands', 'Brushland', 'Sandstorm Verge', 'Argoth, Sanctum of Nature', 'Nurturing Pixie', 'Oliphaunt', 'Flowering of the White Tree', 'Bard Class', 'Irrigated Farmland', 'Path to Exile', 'Soldier of the Pantheon', 'Patchwork Automaton', 'Buried Alive', 'Iron Apprentice'))) AND (TRUE)
    GROUP BY 
        d.id,
        d.competition_id, -- Every deck has only one competition_id but if we want to use competition_id in the HAVING clause we need this.
        season.season_id -- In theory this is not necessary as all decks are in a single season and we join on the date but MySQL cannot work that out so give it the hint it needs.

    HAVING
        TRUE
    ORDER BY
        active_date DESC, d.finish IS NULL, d.finish

```

[] (slow_query, 60.4, mysql)

Reported on decksite by mysql-perf

Location Hash: 533bd47e58c956a670b115636d4f3a60a494f851

Labels: decksite