Changes between Initial Version and Version 1 of Script1


Ignore:
Timestamp:
03/01/26 21:55:53 (3 weeks ago)
Author:
222004
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Script1

    v1 v1  
     1{{{
     2
     3SET FOREIGN_KEY_CHECKS = 0;
     4
     5DROP PROCEDURE IF EXISTS drop_all_indexes;
     6
     7DELIMITER //
     8CREATE PROCEDURE drop_all_indexes()
     9BEGIN
     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;
     37END //
     38DELIMITER ;
     39
     40CALL drop_all_indexes();
     41
     42DROP PROCEDURE IF EXISTS drop_all_indexes;
     43
     44SET FOREIGN_KEY_CHECKS = 1;
     45
     46SELECT
     47    TABLE_NAME,
     48    INDEX_NAME,
     49    GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) AS koloni
     50FROM information_schema.STATISTICS
     51WHERE TABLE_SCHEMA = 'airportdb'
     52GROUP BY TABLE_NAME, INDEX_NAME
     53ORDER BY TABLE_NAME, INDEX_NAME;
     54
     55}}}