-- 客户列表按当前页 external_userid 批量读取加客渠道流水。 -- 覆盖 change_type + external_userid + event_time,避免事件量增长后反复扫描全量 add 事件。 SET @idx_change_ext_time_exists := ( SELECT COUNT(*) FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'zyt_qywx_external_contact_event' AND INDEX_NAME = 'idx_change_ext_time' ); SET @add_idx_change_ext_time_sql := IF( @idx_change_ext_time_exists = 0, 'ALTER TABLE `zyt_qywx_external_contact_event` ADD INDEX `idx_change_ext_time` (`change_type`, `external_userid`, `event_time`, `id`)', 'SELECT 1' ); PREPARE add_idx_change_ext_time_stmt FROM @add_idx_change_ext_time_sql; EXECUTE add_idx_change_ext_time_stmt; DEALLOCATE PREPARE add_idx_change_ext_time_stmt;