mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 23:52:03 +00:00
Fixes
This commit is contained in:
parent
ff5cb84d72
commit
39ddd0ba5d
@ -625,7 +625,6 @@ Returns range from the index, in which given condition is true.
|
|||||||
|
|
||||||
Type: [Uint8](https://clickhouse.yandex/docs/en/data_types/int_uint/#diapazony-uint).
|
Type: [Uint8](https://clickhouse.yandex/docs/en/data_types/int_uint/#diapazony-uint).
|
||||||
|
|
||||||
|
|
||||||
**Example**
|
**Example**
|
||||||
|
|
||||||
Here is the example of test data from the table [ontime](../../getting_started/example_datasets/ontime.md).
|
Here is the example of test data from the table [ontime](../../getting_started/example_datasets/ontime.md).
|
||||||
@ -685,7 +684,7 @@ Result:
|
|||||||
└────────────┴─────────┘
|
└────────────┴─────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
Wrap the expression `k = '2017-09-15'` into `indexHint` function.
|
Now wrap the expression `k = '2017-09-15'` into `indexHint` function.
|
||||||
|
|
||||||
Query:
|
Query:
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
# OnTime
|
# OnTime
|
||||||
|
|
||||||
Этот датасет может быть получен двумя способами:
|
Этот датасет может быть получен двумя способами:
|
||||||
@ -8,7 +7,7 @@
|
|||||||
|
|
||||||
## Импорт из сырых данных
|
## Импорт из сырых данных
|
||||||
|
|
||||||
Скачивание данных:
|
Скачивание данных (из `https://github.com/Percona-Lab/ontime-airline-performance/blob/master/download.sh`):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
for s in `seq 1987 2018`
|
for s in `seq 1987 2018`
|
||||||
@ -20,8 +19,6 @@ done
|
|||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
(из <https://github.com/Percona-Lab/ontime-airline-performance/blob/master/download.sh> )
|
|
||||||
|
|
||||||
Создание таблицы:
|
Создание таблицы:
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
|
@ -587,12 +587,12 @@ SELECT defaultValueOfArgumentType( CAST(1 AS Nullable(Int8) ) )
|
|||||||
|
|
||||||
Возвращает все данные из диапазона, в который попадают данные, соответствующие указанному выражению.
|
Возвращает все данные из диапазона, в который попадают данные, соответствующие указанному выражению.
|
||||||
Переданное выражение не будет вычислено. Выбор диапазона производится по индексу.
|
Переданное выражение не будет вычислено. Выбор диапазона производится по индексу.
|
||||||
Индекс в ClickHouse разреженный, при чтении диапазона в ответ попадают "лишние" данные.
|
Индекс в ClickHouse разреженный, при чтении диапазона в ответ попадают «лишние» соседние данные.
|
||||||
|
|
||||||
**Синтаксис**
|
**Синтаксис**
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
SELECT * FROM table WHERE indexHint(<expression>)
|
SELECT * FROM table WHERE indexHint(<expression>)
|
||||||
```
|
```
|
||||||
|
|
||||||
**Возвращаемое значение**
|
**Возвращаемое значение**
|
||||||
@ -601,7 +601,6 @@ SELECT defaultValueOfArgumentType( CAST(1 AS Nullable(Int8) ) )
|
|||||||
|
|
||||||
Тип: [Uint8](https://clickhouse.yandex/docs/ru/data_types/int_uint/#diapazony-uint).
|
Тип: [Uint8](https://clickhouse.yandex/docs/ru/data_types/int_uint/#diapazony-uint).
|
||||||
|
|
||||||
|
|
||||||
**Пример**
|
**Пример**
|
||||||
|
|
||||||
Рассмотрим пример с использованием тестовых данных таблицы [ontime](../../getting_started/example_datasets/ontime.md).
|
Рассмотрим пример с использованием тестовых данных таблицы [ontime](../../getting_started/example_datasets/ontime.md).
|
||||||
@ -609,13 +608,13 @@ SELECT defaultValueOfArgumentType( CAST(1 AS Nullable(Int8) ) )
|
|||||||
Исходная таблица:
|
Исходная таблица:
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
SELECT count() FROM ontime
|
SELECT count() FROM ontime
|
||||||
```
|
```
|
||||||
|
|
||||||
```text
|
```text
|
||||||
┌─count()─┐
|
┌─count()─┐
|
||||||
│ 4276457 │
|
│ 4276457 │
|
||||||
└─────────┘
|
└─────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
В таблице есть индексы по полям `(FlightDate, (Year, FlightDate))`.
|
В таблице есть индексы по полям `(FlightDate, (Year, FlightDate))`.
|
||||||
@ -625,7 +624,7 @@ SELECT defaultValueOfArgumentType( CAST(1 AS Nullable(Int8) ) )
|
|||||||
Запрос:
|
Запрос:
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
SELECT FlightDate AS k, count() FROM ontime GROUP BY k ORDER BY k
|
SELECT FlightDate AS k, count() FROM ontime GROUP BY k ORDER BY k
|
||||||
```
|
```
|
||||||
|
|
||||||
ClickHouse обработал всю таблицу (`Processed 4.28 million rows`).
|
ClickHouse обработал всю таблицу (`Processed 4.28 million rows`).
|
||||||
@ -633,14 +632,14 @@ ClickHouse обработал всю таблицу (`Processed 4.28 million row
|
|||||||
Результат:
|
Результат:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
┌──────────k─┬─count()─┐
|
┌──────────k─┬─count()─┐
|
||||||
│ 2017-01-01 │ 13970 │
|
│ 2017-01-01 │ 13970 │
|
||||||
│ 2017-01-02 │ 15882 │
|
│ 2017-01-02 │ 15882 │
|
||||||
........................
|
........................
|
||||||
│ 2017-09-28 │ 16411 │
|
│ 2017-09-28 │ 16411 │
|
||||||
│ 2017-09-29 │ 16384 │
|
│ 2017-09-29 │ 16384 │
|
||||||
│ 2017-09-30 │ 12520 │
|
│ 2017-09-30 │ 12520 │
|
||||||
└────────────┴─────────┘
|
└────────────┴─────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
Для подключения индекса выбираем конкретную дату.
|
Для подключения индекса выбираем конкретную дату.
|
||||||
@ -648,7 +647,7 @@ ClickHouse обработал всю таблицу (`Processed 4.28 million row
|
|||||||
Запрос:
|
Запрос:
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
SELECT FlightDate AS k, count() FROM ontime WHERE k = '2017-09-15' GROUP BY k ORDER BY k
|
SELECT FlightDate AS k, count() FROM ontime WHERE k = '2017-09-15' GROUP BY k ORDER BY k
|
||||||
```
|
```
|
||||||
|
|
||||||
При использовании индекса ClickHouse обработал значительно меньшее количество строк (`Processed 32.74 thousand rows`).
|
При использовании индекса ClickHouse обработал значительно меньшее количество строк (`Processed 32.74 thousand rows`).
|
||||||
@ -656,39 +655,38 @@ ClickHouse обработал всю таблицу (`Processed 4.28 million row
|
|||||||
Результат:
|
Результат:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
┌──────────k─┬─count()─┐
|
┌──────────k─┬─count()─┐
|
||||||
│ 2017-09-15 │ 16428 │
|
│ 2017-09-15 │ 16428 │
|
||||||
└────────────┴─────────┘
|
└────────────┴─────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
В функцию `indexHint` передаем выражение `k = '2017-09-15'`.
|
Передадим в функцию `indexHint` выражение `k = '2017-09-15'`.
|
||||||
|
|
||||||
Запрос:
|
Запрос:
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
SELECT
|
SELECT
|
||||||
FlightDate AS k,
|
FlightDate AS k,
|
||||||
count()
|
count()
|
||||||
FROM ontime
|
FROM ontime
|
||||||
WHERE indexHint(k = '2017-09-15')
|
WHERE indexHint(k = '2017-09-15')
|
||||||
GROUP BY k
|
GROUP BY k
|
||||||
ORDER BY k ASC
|
ORDER BY k ASC
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
ClickHouse применил индекс по аналогии с примером выше (`Processed 32.74 thousand rows`).
|
ClickHouse применил индекс по аналогии с примером выше (`Processed 32.74 thousand rows`).
|
||||||
Выражение `k = '2017-09-15'` не используется при формировании результата.
|
Выражение `k = '2017-09-15'` не используется при формировании результата.
|
||||||
В примере функция `indexHint` позволяет увидеть соседние даты.
|
Функция `indexHint` позволяет увидеть соседние данные.
|
||||||
|
|
||||||
Результат:
|
Результат:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
┌──────────k─┬─count()─┐
|
┌──────────k─┬─count()─┐
|
||||||
│ 2017-09-14 │ 7071 │
|
│ 2017-09-14 │ 7071 │
|
||||||
│ 2017-09-15 │ 16428 │
|
│ 2017-09-15 │ 16428 │
|
||||||
│ 2017-09-16 │ 1077 │
|
│ 2017-09-16 │ 1077 │
|
||||||
│ 2017-09-30 │ 8167 │
|
│ 2017-09-30 │ 8167 │
|
||||||
└────────────┴─────────┘
|
└────────────┴─────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
## replicate {#other_functions-replicate}
|
## replicate {#other_functions-replicate}
|
||||||
|
Loading…
Reference in New Issue
Block a user