mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-28 20:50:49 +00:00
improve change
This commit is contained in:
parent
3ddcf590f6
commit
fda6bde428
@ -1112,6 +1112,7 @@ void InterpreterSelectQuery::executeFetchColumns(
|
|||||||
/// Optimization for trivial query like SELECT count() FROM table.
|
/// Optimization for trivial query like SELECT count() FROM table.
|
||||||
bool optimize_trivial_count =
|
bool optimize_trivial_count =
|
||||||
syntax_analyzer_result->optimize_trivial_count
|
syntax_analyzer_result->optimize_trivial_count
|
||||||
|
&& settings.select_sequential_consistency
|
||||||
&& storage
|
&& storage
|
||||||
&& !filter_info
|
&& !filter_info
|
||||||
&& processing_stage == QueryProcessingStage::FetchColumns
|
&& processing_stage == QueryProcessingStage::FetchColumns
|
||||||
@ -1119,6 +1120,7 @@ void InterpreterSelectQuery::executeFetchColumns(
|
|||||||
&& (query_analyzer->aggregates().size() == 1)
|
&& (query_analyzer->aggregates().size() == 1)
|
||||||
&& typeid_cast<AggregateFunctionCount *>(query_analyzer->aggregates()[0].function.get());
|
&& typeid_cast<AggregateFunctionCount *>(query_analyzer->aggregates()[0].function.get());
|
||||||
|
|
||||||
|
|
||||||
if (optimize_trivial_count)
|
if (optimize_trivial_count)
|
||||||
{
|
{
|
||||||
const auto & desc = query_analyzer->aggregates()[0];
|
const auto & desc = query_analyzer->aggregates()[0];
|
||||||
|
@ -619,7 +619,7 @@ TreeRewriterResultPtr TreeRewriter::analyzeSelect(
|
|||||||
result.ast_join = select_query->join();
|
result.ast_join = select_query->join();
|
||||||
|
|
||||||
if (result.optimize_trivial_count)
|
if (result.optimize_trivial_count)
|
||||||
result.optimize_trivial_count = settings.optimize_trivial_count_query && settings.select_sequential_consistency &&
|
result.optimize_trivial_count = settings.optimize_trivial_count_query &&
|
||||||
!select_query->where() && !select_query->prewhere() && !select_query->groupBy() && !select_query->having() &&
|
!select_query->where() && !select_query->prewhere() && !select_query->groupBy() && !select_query->having() &&
|
||||||
!select_query->sampleSize() && !select_query->sampleOffset() && !select_query->final() &&
|
!select_query->sampleSize() && !select_query->sampleOffset() && !select_query->final() &&
|
||||||
(tables_with_columns.size() < 2 || isLeft(result.analyzed_join->kind()));
|
(tables_with_columns.size() < 2 || isLeft(result.analyzed_join->kind()));
|
||||||
|
Loading…
Reference in New Issue
Block a user