|
6 | 6 | "notes": "Tests page traversal performance only; avoids data copies, serialization, and evaluation." |
7 | 7 | }, |
8 | 8 | { |
9 | | - "id": "count-having-request-id", |
| 9 | + "id": "multiple-reductions", |
| 10 | + "query": "select count(*), sum(A), min(B), max(C) from stream where @Timestamp >= now() - 30d", |
| 11 | + "notes": "Reducer performance. Percentile is excluded because it prevents parallelization unless time-grouped." |
| 12 | + }, |
| 13 | + { |
| 14 | + "id": "percentile-by-12h", |
| 15 | + "query": "select percentile(@Timestamp % 1ms, 90) from stream where @Timestamp >= now() - 30d group by @Level, time(12h)", |
| 16 | + "notes": "Common reducer/grouping combination used when monitoring performance." |
| 17 | + }, |
| 18 | + { |
| 19 | + "id": "count-with-request-id", |
10 | 20 | "query": "select count(*) from stream where RequestId is not null and @Timestamp >= now() - 30d", |
11 | 21 | "notes": "Tests sparse deserialization and condition evaluation atop basic page traversal." |
12 | 22 | }, |
|
21 | 31 | "notes": "Text search performance; worse on @Message than other properties because fragment pre-filtering is not used." |
22 | 32 | }, |
23 | 33 | { |
24 | | - "id": "count-by-level", |
| 34 | + "id": "group-by-level", |
25 | 35 | "query": "select count(*) from stream where @Timestamp >= now() - 30d group by @Level", |
26 | 36 | "notes": "Grouping performance, strings, small number of groups." |
27 | 37 | }, |
28 | 38 | { |
29 | | - "id": "count-by-millisecond", |
| 39 | + "id": "group-by-millisecond", |
30 | 40 | "query": "select count(*) from stream where @Timestamp >= now() - 30d group by @Timestamp % 1ms limit 100", |
31 | 41 | "notes": "Grouping performance, numbers, up to 10000 groups." |
32 | 42 | }, |
33 | 43 | { |
34 | | - "id": "count-by-day", |
| 44 | + "id": "group-by-12h", |
35 | 45 | "query": "select count(*) from stream where @Timestamp >= now() - 30d group by time(12h)", |
36 | 46 | "notes": "Time partitioning performance." |
37 | 47 | }, |
|
49 | 59 | "id": "order-by-message-limit-10", |
50 | 60 | "query": "select @Message from stream where @Timestamp >= now() - 30d order by @Message limit 10", |
51 | 61 | "notes": "Adds character collation to limited sort." |
| 62 | + }, |
| 63 | + { |
| 64 | + "id": "count-where-heavy-predicate", |
| 65 | + "query": "select count(*) from stream where (A = 1 or B = '2' or C or D <> null or length(E) > 5 or F = {f: 6} or G = '7' or H like '8%' or I > 9 or J % 10 = 0) and @Timestamp >= now() - 30d", |
| 66 | + "notes": "Tests expression evaluation performance." |
52 | 67 | } |
53 | 68 | ] |
54 | 69 | } |
0 commit comments