| 231 | } |
| 232 | |
| 233 | fn recommend_execution_strategy(&self, hints: &OptimizationHints) -> ExecutionStrategy { |
| 234 | match hints.complexity { |
| 235 | QueryComplexity::Simple => { |
| 236 | if hints.use_fast_path { |
| 237 | ExecutionStrategy::UltraFastPath |
| 238 | } else { |
| 239 | ExecutionStrategy::FastPath |
| 240 | } |
| 241 | } |
| 242 | QueryComplexity::Medium => { |
| 243 | if hints.cache_result { |
| 244 | ExecutionStrategy::CachedExecution |
| 245 | } else { |
| 246 | ExecutionStrategy::StandardExecution |
| 247 | } |
| 248 | } |
| 249 | QueryComplexity::Complex => { |
| 250 | ExecutionStrategy::OptimizedComplex |
| 251 | } |
| 252 | } |
| 253 | } |
| 254 | } |
| 255 | |
| 256 | /// Result of query optimization analysis |