eldenmoon commented on code in PR #15642: URL: https://github.com/apache/doris/pull/15642#discussion_r1071094772
########## fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java: ########## @@ -619,6 +646,39 @@ public void analyze(Analyzer analyzer) throws UserException { } } + // Check whether enable two phase read optimize, if enabled query will be devieded into two phase read: + // 1. read conjuncts columns and order by columns along with an extra RowId column from ScanNode + // 2. sort and filter data, and get final RowId column, spawn RPC to other BE to fetch final data + // 3. final matrialize all data + public boolean checkEnableTwoPhaseRead() { + // Only handle the simplest `SELECT ... FROM <tbl> WHERE ... ORDER BY ... LIMIT ...` query + if (getAggInfo() != null + || getHavingPred() != null + || getWithClause() != null) { + return false; + } + // single olap table + List<TableRef> tblRefs = getTableRefs(); + if (tblRefs.size() != 1 || !(tblRefs.get(0) instanceof BaseTableRef)) { + return false; + } + TableRef tbl = tblRefs.get(0); + if (tbl.getTable().getType() != Table.TableType.OLAP) { + return false; + } + // need enable light schema change Review Comment: needs column uinque id to read in the second phase fetch -- 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: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org