distinctClause 且 distinctClause 里面没有分布列
# 测试用表和数据请参加附录 # 单节点(绑定变量的):distinctClause且distinctClause里面没有分布列的 antdb=# prepare s_distinct_single(int) as SELECT distinct province FROM fqs_window_test WHERE id = $1; PREPARE antdb=# EXPLAIN (verbose) execute s_distinct_single(1); QUERY PLAN ------------------------------------------------------------------------------------------------------ Data Node Scan on "__REMOTE_FQS_QUERY__" (cost=0.00..0.00 rows=0 width=0) Output: fqs_window_test.province Node expr: $1 Remote query: SELECT DISTINCT province FROM public.fqs_window_test fqs_window_test WHERE (id = $1) (4 rows) # 单节点(静态常量的):distinctClause且distinctClause里面没有分布列的 antdb=# EXPLAIN (verbose) SELECT distinct province FROM fqs_window_test WHERE id = 1; QUERY PLAN ----------------------------------------------------------------------------------------------------- Data Node Scan on "__REMOTE_FQS_QUERY__" (cost=0.00..0.00 rows=0 width=0) Output: fqs_window_test.province Node/s: DN2 Remote query: SELECT DISTINCT province FROM public.fqs_window_test fqs_window_test WHERE (id = 1) (4 rows)
复制
普通子查询
# 测试用表和数据请参加附录 # 带动态参数的普通子查询 antdb=# prepare s_common_subquery(int) as SELECT * FROM (SELECT * FROM fqs_window_test WHERE id = $1) a; PREPARE antdb=# EXPLAIN (verbose) execute s_common_subquery(2); QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------- Data Node Scan on "__REMOTE_FQS_QUERY__" (cost=0.00..0.00 rows=0 width=0) Output: a.id, a.province, a.city Node expr: $1 Remote query: SELECT id, province, city FROM (SELECT fqs_window_test.id, fqs_window_test.province, fqs_window_test.city FROM public.fqs_window_test fqs_window_test WHERE (fqs_window_tes t.id = $1)) a (4 rows) # 带静态常量的普通子查询 antdb=# EXPLAIN (verbose) SELECT * FROM (SELECT * FROM fqs_window_test WHERE id = 2) a; QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------- Data Node Scan on "__REMOTE_FQS_QUERY__" (cost=0.00..0.00 rows=0 width=0) Output: a.id, a.province, a.city Node/s: DN1 Remote query: SELECT id, province, city FROM (SELECT fqs_window_test.id, fqs_window_test.province, fqs_window_test.city FROM public.fqs_window_test fqs_window_test WHERE (fqs_window_tes t.id = 2)) a (4 rows)
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。