mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-18 05:32:52 +00:00
ae626281b6
* Cmake: clear test variables with CMakePushCheckState (it will fix macos build issue) * Add some perf tests * Fix PerformanceTest, fix tests * Add nyc-taxi queries * Update PerformanceTest.cpp * PerformanceTest: allow recursive .xml search * Tests tune * Move tests to dirs * --recursive * Add space
102 lines
7.5 KiB
XML
102 lines
7.5 KiB
XML
<test>
|
||
<name>test_hits</name>
|
||
<type>loop</type>
|
||
|
||
<stop_conditions>
|
||
<all_of>
|
||
<iterations>3</iterations>
|
||
<min_time_not_changing_for_ms>10000</min_time_not_changing_for_ms>
|
||
</all_of>
|
||
<any_of>
|
||
<iterations>5</iterations>
|
||
<total_time_ms>60000</total_time_ms>
|
||
</any_of>
|
||
</stop_conditions>
|
||
|
||
<main_metric>
|
||
<min_time/>
|
||
</main_metric>
|
||
|
||
<preconditions>
|
||
<table_exists>test.hits</table_exists>
|
||
</preconditions>
|
||
|
||
<!-- 14. Некриптографическая хэш-функция для строк небольшой длины.
|
||
В качестве данных в следующих тестах будут использованы поисковые фразы (SearchPhrase), URL и PageCharset.
|
||
Строка SearchPhrase непустая только в 6.8% случаев. Средняя длина непустой строки - 47 байт.
|
||
URL почти всегда непуст и его средняя длина - 77 байт.
|
||
PageCharset тоже почти всегда непуст, но его средняя длина поменьше - 6.2 байта. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(SearchPhrase)) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(SearchPhrase))</query>
|
||
<!-- 15. Некриптографическая хэш-функция для строк небольшой длины. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(farmHash64(SearchPhrase)) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(farmHash64(SearchPhrase))</query>
|
||
<!-- 16. Некриптографическая хэш-функция для строк небольшой длины. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(metroHash64(SearchPhrase)) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(metroHash64(SearchPhrase))</query>
|
||
<!-- 17. Криптографическая хэш-функция для строк. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(sipHash64(SearchPhrase)) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(sipHash64(SearchPhrase))</query>
|
||
<!-- 18. Криптографическая хэш-функция для строк. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(MD5(SearchPhrase)) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(MD5(SearchPhrase))</query>
|
||
<!-- 19. Криптографическая хэш-функция для строк. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(MD5(URL)) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(MD5(URL))</query>
|
||
<!-- 20. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(URL)) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(URL))</query>
|
||
<!-- 21. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(sipHash64(URL)) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(sipHash64(URL))</query>
|
||
<!-- 22. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(PageCharset)) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(cityHash64(PageCharset))</query>
|
||
<!-- 23. Поиск подстроки в строке. -->
|
||
<query>SELECT count() FROM test.hits WHERE URL LIKE '%metrika%' SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE URL LIKE '%metrika%'</query>
|
||
<!-- 24. Более сложный поиск подстроки в строке. -->
|
||
<query>SELECT count() FROM test.hits WHERE positionCaseInsensitiveUTF8(URL, 'новости') != 0 SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE positionCaseInsensitiveUTF8(URL, 'новости') != 0</query>
|
||
<!-- 25. Регексп. -->
|
||
<query>SELECT count() FROM test.hits WHERE match(URL, '^https?://(?:www\\.)?metri[kc]a\\.yandex\\.(?:ru|com|com\\.tr|ua|by|kz)/.+?2014') SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE match(URL, '^https?://(?:www\\.)?metri[kc]a\\.yandex\\.(?:ru|com|com\\.tr|ua|by|kz)/.+?2014')</query>
|
||
<!-- 34. Сложная агрегация. -->
|
||
<query>SELECT SearchEngineID, SearchPhrase, RegionID FROM test.hits GROUP BY SearchEngineID, SearchPhrase, RegionID ORDER BY count() DESC LIMIT 10 SETTINGS max_threads = 1</query>
|
||
<query>SELECT SearchEngineID, SearchPhrase, RegionID FROM test.hits GROUP BY SearchEngineID, SearchPhrase, RegionID ORDER BY count() DESC LIMIT 10</query>
|
||
<!-- 36. Функция для работы с датой и временем. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(toMonday(EventTime)) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(toMonday(EventTime))</query>
|
||
<!-- 37. Функция для работы с URL. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(cutQueryString(URL)) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(cutQueryString(URL))</query>
|
||
<!-- 38. Разные алгоритмы вычисления квантилей. -->
|
||
<query>SELECT quantilesIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits SETTINGS max_threads = 1</query>
|
||
<query>SELECT quantilesIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits</query>
|
||
<!-- 39. Разные алгоритмы вычисления квантилей. -->
|
||
<query>SELECT quantilesTimingIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits SETTINGS max_threads = 1</query>
|
||
<query>SELECT quantilesTimingIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits</query>
|
||
<!-- 40. Разные алгоритмы вычисления квантилей. -->
|
||
<query>SELECT quantilesExactIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits SETTINGS max_threads = 1</query>
|
||
<query>SELECT quantilesExactIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits</query>
|
||
<!-- 41. Разные алгоритмы вычисления квантилей. -->
|
||
<query>SELECT quantilesTDigestIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits SETTINGS max_threads = 1</query>
|
||
<query>SELECT quantilesTDigestIf(0.5, 0.9)(SendTiming, SendTiming > 0) FROM test.hits</query>
|
||
<!-- 42. Разные алгоритмы вычисления кардинальности. -->
|
||
<query>SELECT uniq(UserID) FROM test.hits SETTINGS max_threads = 1</query>
|
||
<query>SELECT uniq(UserID) FROM test.hits</query>
|
||
<!-- 43. Разные алгоритмы вычисления кардинальности. -->
|
||
<query>SELECT uniqCombined(UserID) FROM test.hits SETTINGS max_threads = 1</query>
|
||
<query>SELECT uniqCombined(UserID) FROM test.hits</query>
|
||
<!-- 44. Разные алгоритмы вычисления кардинальности. -->
|
||
<query>SELECT uniqExact(UserID) FROM test.hits SETTINGS max_threads = 1</query>
|
||
<query>SELECT uniqExact(UserID) FROM test.hits</query>
|
||
<!-- 45. Что-то чуть более похожее на реальный запрос. -->
|
||
<query>SELECT RegionID, uniq(UserID) FROM test.hits GROUP BY RegionID SETTINGS max_threads = 1</query>
|
||
<query>SELECT RegionID, uniq(UserID) FROM test.hits GROUP BY RegionID</query>
|
||
<!-- 47. Читаем и разжимаем все столбцы, и ничего с ними потом не делаем. -->
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(*) SETTINGS max_threads = 1</query>
|
||
<query>SELECT count() FROM test.hits WHERE NOT ignore(*)</query>
|
||
|
||
</test>
|