| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- -- 移动市场现场 scope 查询复合索引
- -- MySQL 5.7;通过 information_schema + PREPARE 保证重复执行安全。
- SET NAMES utf8mb4;
- SET @db := DATABASE();
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_collection_region_staff'
- AND INDEX_NAME = 'idx_crs_market_leader_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_collection_region_staff` ADD INDEX `idx_crs_market_leader_scope` (`tenant_no`,`user_id`,`is_leader`,`del_flag`,`region_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_presign_order'
- AND INDEX_NAME = 'idx_po_market_sales_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_presign_order` ADD INDEX `idx_po_market_sales_scope` (`tenant_no`,`del_flag`,`sales_user_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_presign_order'
- AND INDEX_NAME = 'idx_po_market_region_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_presign_order` ADD INDEX `idx_po_market_region_scope` (`tenant_no`,`del_flag`,`region_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_presign_order'
- AND INDEX_NAME = 'idx_po_market_manager_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_presign_order` ADD INDEX `idx_po_market_manager_scope` (`tenant_no`,`del_flag`,`region_manager_user_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_protocol_collection_info'
- AND INDEX_NAME = 'idx_pci_market_parent_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_protocol_collection_info` ADD INDEX `idx_pci_market_parent_scope` (`tenant_no`,`del_flag`,`collection_protocol_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_protocol_collection_info'
- AND INDEX_NAME = 'idx_pci_market_sales_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_protocol_collection_info` ADD INDEX `idx_pci_market_sales_scope` (`tenant_no`,`del_flag`,`sales_user_id`,`collection_protocol_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_protocol_collection_info'
- AND INDEX_NAME = 'idx_pci_market_region_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_protocol_collection_info` ADD INDEX `idx_pci_market_region_scope` (`tenant_no`,`del_flag`,`region_id`,`collection_protocol_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_protocol_collection_info'
- AND INDEX_NAME = 'idx_pci_market_manager_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_protocol_collection_info` ADD INDEX `idx_pci_market_manager_scope` (`tenant_no`,`del_flag`,`region_manager_user_id`,`collection_protocol_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_research_donation_collection'
- AND INDEX_NAME = 'idx_rdc_market_parent_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_research_donation_collection` ADD INDEX `idx_rdc_market_parent_scope` (`tenant_no`,`del_flag`,`research_donation_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_research_donation_collection'
- AND INDEX_NAME = 'idx_rdc_market_sales_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_research_donation_collection` ADD INDEX `idx_rdc_market_sales_scope` (`tenant_no`,`del_flag`,`sales_user_id`,`research_donation_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_research_donation_collection'
- AND INDEX_NAME = 'idx_rdc_market_region_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_research_donation_collection` ADD INDEX `idx_rdc_market_region_scope` (`tenant_no`,`del_flag`,`region_id`,`research_donation_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @idx_exists := (
- SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'biz_research_donation_collection'
- AND INDEX_NAME = 'idx_rdc_market_manager_scope'
- );
- SET @sql := IF(@idx_exists = 0,
- 'ALTER TABLE `biz_research_donation_collection` ADD INDEX `idx_rdc_market_manager_scope` (`tenant_no`,`del_flag`,`region_manager_user_id`,`research_donation_id`)',
- 'SELECT 1');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|