sql >> Database teknologi >  >> RDS >> Mysql

MySQL dropper alle indekser fra tabellen

Simpelt script:

-- liste alle ikke-unikke indekserVÆLG tabelnavn SOM `Tabel`, indeksnavn SOM `Index`, GROUP_CONCAT(kolonne_navn ORDER BY seq_in_index) AS `Columns`FROM information_schema.statisticsWHERE NON_UNIQUE =1 OG tabel_skema ='min database' OG table_name ='mytable'GROUP BY 1,2;-- slip alle ikke-unikke indekserSET SESSION group_concat_max_len=10240;SELECT CONCAT('ÆNDRING TABLE ', 'Tabel', ' DROP INDEX ', GROUP_CONCAT(`Index` SEPARATOR ', DROP INDEX '),';' )FROM (VÆLG tabelnavn SOM `Tabel`, indeksnavn SOM `Index`FRA informationsskema.statisticsWHERE NON_UNIQUE =1 OG tabelskema ='mindatabase' OG tabelnavn ='mintabel'GRUPPER EFTER `Tabel`, `Indeks `) SOM tmpGROUP BY `Table`;-- tilføj alle ikke-unikke indekser, UDEN indekslængde specSET SESSION group_concat_max_len=10240;SELECT CONCAT('ALTER TABLE', `Table`, 'ADD INDEX', GROUP_CONCAT(CONCAT(`Index `, '(', `Kolonner`, ')') SEPARATOR ',\n TILFØJ INDEKS ') )FRA (VÆLG tabelnavn SOM `Tabel`, indeksnavn SOM `Indeks`, GROU P_CONCAT(column_name ORDER BY seq_in_index) AS `Columns`FROM information_schema.statisticsWHERE NON_UNIQUE =1 AND table_schema ='mydatabase' AND table_name ='mytable'GROUP BY `Table`, `Index`) AS tmpGROUP`;

  1. SQL Server-triggere:DML-triggere

  2. SQL Server Internals:Problematiske Operatører Pt. II – Hashing

  3. Returner nul, hvis der ikke findes nogen post

  4. Opbygning af en maskinlæringsmodel med SQL Server, ML.NET og C#