diff --git a/src/config/src/config.rs b/src/config/src/config.rs index 7409993cd7..bdcbdfdc61 100644 --- a/src/config/src/config.rs +++ b/src/config/src/config.rs @@ -899,6 +899,8 @@ pub struct Limit { pub query_optimization_num_fields: usize, #[env_config(name = "ZO_QUICK_MODE_ENABLED", default = false)] pub quick_mode_enabled: bool, + #[env_config(name = "ZO_QUICK_MODE_FORCE_ENABLED", default = false)] + pub quick_mode_force_enabled: bool, #[env_config(name = "ZO_QUICK_MODE_NUM_FIELDS", default = 500)] pub quick_mode_num_fields: usize, #[env_config(name = "ZO_QUICK_MODE_STRATEGY", default = "")] diff --git a/src/service/search/sql.rs b/src/service/search/sql.rs index 58d8333f39..b68fc91a0d 100644 --- a/src/service/search/sql.rs +++ b/src/service/search/sql.rs @@ -290,7 +290,8 @@ impl Sql { // Hack for quick_mode // replace `select *` to `select f1,f2,f3` - if req_query.quick_mode + if (req_query.quick_mode + || cfg.limit.quick_mode_force_enabled) && schema_fields.len() > cfg.limit.quick_mode_num_fields && RE_ONLY_SELECT.is_match(&origin_sql) {