mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 15:42:02 +00:00
a4f765cae7
* Configure keeper for perf tests Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com> * Improve performance of SELECTs with active mutations getAlterMutationCommandsForPart() can be a hot path for query execution when there are pending mutations. - LOG_TEST - it is not only check one bool, but actually a bunch of atomics as well. - Return std::vector over std::map (map is not required there) - no changes in performance. - Copy only RENAME_COLUMN (since only this mutation is required by AlterConversions). And here are results: run|result -|- SELECT w/o ALTER|queries: 1565, QPS: 355.259, RPS: 355.259 SELECT w/ ALTER unpatched|queries: 2099, QPS: 220.623, RPS: 220.623 SELECT w/ ALTER and w/o LOG_TEST|queries: 2730, QPS: 235.859, RPS: 235.859 SELECT w/ ALTER and w/o LOG_TEST and w/ RENAME_COLUMN only|queries: 2995, QPS: 290.982, RPS: 290.982 But there are still room for improvements, at least MergeTree engines could implement getStorageSnapshotForQuery(). Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com> * Add AlterConversions::supportsMutationCommandType(), flatten vector<vector<MutationCommand>> * Work around what appears to be a clang static analysis bug --------- Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com> Co-authored-by: Michael Kolupaev <michael.kolupaev@clickhouse.com> |
||
---|---|---|
.. | ||
config.d | ||
users.d | ||
client_config.xml |