Språkbanner for Forslag til indeks for category listing
SQL Ytelse & Indekser
SQL
Scripts / SQL Ytelse & Indekser
Copy-first script

Forslag til indeks for category listing

Legger til nyttig indeks hvis den mangler.

SQL 15 min Nivå 7/10 Copy Versjon 1.0
SQL Copy

Forutsetninger

MySQL 8.0+, MySQL Workbench.

Forslag til indeks for category listing

Legger til nyttig indeks hvis den mangler.

Kode

SET @idx_exists := (
    SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
    WHERE TABLE_SCHEMA = DATABASE()
      AND TABLE_NAME = 'tutorials'
      AND INDEX_NAME = 'idx_tutorials_category_created'
);
SET @sql := IF(@idx_exists = 0,
    'CREATE INDEX idx_tutorials_category_created ON tutorials (category_id, created_at)',
    'SELECT "idx_tutorials_category_created finnes allerede" AS status'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

Bruk

Scriptet er laget for copy-first arbeidsflyt. Kjør det først i et testmiljø eller mot en kopi av relevante tabeller.

Klar til bruk

Kodevindu

Koden er optimalisert for rask kopiering og videre tilpasning i eget prosjekt.

SQL 13 linjer 465 tegn Copy-modus
SET @idx_exists := (
    SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
    WHERE TABLE_SCHEMA = DATABASE()
      AND TABLE_NAME = 'tutorials'
      AND INDEX_NAME = 'idx_tutorials_category_created'
);
SET @sql := IF(@idx_exists = 0,
    'CREATE INDEX idx_tutorials_category_created ON tutorials (category_id, created_at)',
    'SELECT "idx_tutorials_category_created finnes allerede" AS status'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
W
Skrevet av Leon Webmaster, systemutvikler, webutvikler og designer. @ WEBoracle Publisert: Mandag, 27.04.2026 kl 03:53