Comment on page
Dolt supports the following join hints:
Join hints are indicated immediately after a
SELECTtoken in a special comment format
/*+ */. Multiple hints should be separated by spaces:
SELECT /*+ JOIN_ORDER(arg1,arg2) */ 1
SELECT /*+ JOIN_ORDER(arg1,arg2) NO_ICP */ 1
Join hints currently require a full set of valid hints for all to be applied. For example, if we have a three table join we can enforce JOIN_ORDER on its own, join strategies on their own, or both order and strategy:
SELECT /*+ JOIN_ORDER(xy,uv,ab) LOOKUP_JOIN(xy,uv) HASH_JOIN(uv,ab) */ 1
JOIN uv on x = u
JOIN ab on a = u;
- If one hint is invalid given the execution options, no hints are applied and the engine falls back to default costing.
- Join operator hints are order-insensitive
- Join operator hints apply as long as the indicated tables are subsets of the join left/right.
Dolt supports a subset of the character sets and collations that MySQL supports. Notably, the default character set is
utf8mb4, while the default collation is
utf8mb4_0900_bin(a case-sensitive collation). This default was chosen as it has the fastest implementation, and also from a legacy perspective, as before proper collation support was added, it was the only real collation that we supported. This differs from a standard MySQL instance, which defaults to
utf8mb4_0900_ai_ci(a case-insensitive collation). Character sets and collations are added upon request, so please file an issue if a character set or collation that you need is missing.