## Syntax
Execution hints are a comma-separated list of hints, specified as comment on specific types of SQL statements:
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
executionHints_start((START))
executionHints_start --> executionHints_0_0[EXECUTION_HINT_START]:::quoted
executionHints_0_0 --> executionHints_0_1[HINT]
executionHints_0_1 --> executionHints_0_1b[","]:::quoted
executionHints_0_1b --> executionHints_0_0
executionHints_0_1 --> executionHints_0_3[EXECUTION_HINT_END]:::quoted
executionHints_0_3 --> executionHints_end((END))
```
where execution hint can be chosen from:
- [[HTTP Disk Cache]]
- [[HTTP Memory Cache]]
- [[Join Parallelization]]
- [[Join Set]]
- [[Low Cost]]
- [[Materialize Result Set]]
- [[No Join Set]]
- [[Operational Data Store]]
- [[Result Set Name]]
- [[Result Set Serialization]]
## Purpose
Execution hints allow you to control the execution of individual SQL statements. Hints typically overrule settings made through the [[Set Statement]]. Whenever possible, the hints will be used.
In contrary to other platforms, Invantive UniversalSQL requires a hint to be valid according to the grammar when specified. This reduces the engineering risk that hints become invalid by accident.