swuferhong commented on code in PR #20513:
URL: https://github.com/apache/flink/pull/20513#discussion_r954669659


##########
docs/content/docs/dev/table/sql/queries/hints.md:
##########
@@ -84,4 +84,244 @@ insert into kafka_table1 /*+ 
OPTIONS('sink.partitioner'='round-robin') */ select
 
 ```
 
+## Query Hints
+
+`Query Hints` specify that the indicated hints are used in the scope of a 
query. Their effective scope is current `Query 
+block` ([What are query blocks ?](#what-are-query-blocks-)) which `Query 
Hints` specified in. Now, Flink `Query Hints` support `Join Hints`.
+
+### Syntax
+The `Query Hints` syntax in Flink follows the syntax of `Query Hints` in 
Apache Calcite:
+```sql
+# Query Hints:
+SELECT /*+ hint [, hint ] */ ...
+
+hint:
+        hintName
+    |   hintName '(' optionKey '=' optionVal [, optionKey '=' optionVal ]* ')'
+    |   hintName '(' hintOption [, hintOption ]* ')'
+
+optionKey:
+        simpleIdentifier
+    |   stringLiteral
+
+optionVal:
+        stringLiteral
+
+hintOption:
+        simpleIdentifier
+    |   numericLiteral
+    |   stringLiteral
+```
+
+### Join Hints
+
+`Join Hints` allow users to suggest the join strategy to optimizer in order to 
get a more optimal execution plan. 
+Now Flink `Join Hints` support `BROADCAST`, `SHUFFLE_HASH`, `SHUFFLE_MERGE` 
and `NEST_LOOP` Join Hints. Also, for some cases,

Review Comment:
   > If the `Join Hints` conflicts, Flink will choose the most suitable one.
   
   Done!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to