| | 1 | {{{ |
| | 2 | |
| | 3 | SET FOREIGN_KEY_CHECKS = 0; |
| | 4 | |
| | 5 | DROP PROCEDURE IF EXISTS drop_all_indexes; |
| | 6 | |
| | 7 | DELIMITER // |
| | 8 | CREATE PROCEDURE drop_all_indexes() |
| | 9 | BEGIN |
| | 10 | DECLARE done INT DEFAULT 0; |
| | 11 | DECLARE tbl_name VARCHAR(100); |
| | 12 | DECLARE idx_name VARCHAR(100); |
| | 13 | |
| | 14 | DECLARE cur CURSOR FOR |
| | 15 | SELECT DISTINCT TABLE_NAME, INDEX_NAME |
| | 16 | FROM information_schema.STATISTICS |
| | 17 | WHERE TABLE_SCHEMA = 'airportdb' |
| | 18 | AND INDEX_NAME != 'PRIMARY' |
| | 19 | ORDER BY TABLE_NAME, INDEX_NAME; |
| | 20 | |
| | 21 | DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; |
| | 22 | DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END; |
| | 23 | |
| | 24 | OPEN cur; |
| | 25 | read_loop: LOOP |
| | 26 | FETCH cur INTO tbl_name, idx_name; |
| | 27 | IF done THEN LEAVE read_loop; END IF; |
| | 28 | |
| | 29 | SET @s = CONCAT('DROP INDEX `', idx_name, '` ON `airportdb`.`', tbl_name, '`'); |
| | 30 | PREPARE stmt FROM @s; |
| | 31 | EXECUTE stmt; |
| | 32 | DEALLOCATE PREPARE stmt; |
| | 33 | |
| | 34 | SELECT CONCAT('Избришан: ', tbl_name, ' -> ', idx_name) AS status; |
| | 35 | END LOOP; |
| | 36 | CLOSE cur; |
| | 37 | END // |
| | 38 | DELIMITER ; |
| | 39 | |
| | 40 | CALL drop_all_indexes(); |
| | 41 | |
| | 42 | DROP PROCEDURE IF EXISTS drop_all_indexes; |
| | 43 | |
| | 44 | SET FOREIGN_KEY_CHECKS = 1; |
| | 45 | |
| | 46 | SELECT |
| | 47 | TABLE_NAME, |
| | 48 | INDEX_NAME, |
| | 49 | GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) AS koloni |
| | 50 | FROM information_schema.STATISTICS |
| | 51 | WHERE TABLE_SCHEMA = 'airportdb' |
| | 52 | GROUP BY TABLE_NAME, INDEX_NAME |
| | 53 | ORDER BY TABLE_NAME, INDEX_NAME; |
| | 54 | |
| | 55 | }}} |