Commit Graph

119 Commits

Author SHA1 Message Date
Azat Khuzhin
064f901ea8 Add ability to preallocate hashtables for hashed/sparsehashed dictionaries
preallocation can be used only when we know number of rows, and for this
we need:
- source clickhouse
- no filtering (i.e. lack of <where>), since filtering can filter
  too much rows and eventually it may allocate memory that will
  never be used.

For sparse_hash the difference is quite significant, preallocated
sparse_hash hashtable allocates ~33% faster (7.5 seconds vs 5 seconds
for insert, and the difference is more significant for higher number of
elements):

    $ ninja bench-sparse_hash-run
    [1/1] cd /src/ch/hashtable-bench/.cmake && ...ch/hashtable-bench/.cmake/bench-sparse_hash
    sparse_hash/insert: 7.574 <!--
    sparse_hash/find  : 2.14426
    sparse_hash/maxrss: 174MiB
    sparse_hash/time:   9710.51 msec (user+sys)

    $ time ninja bench-sparse_hash-preallocate-run
    [1/1] cd /src/ch/hashtable-bench/.cmake && ...-bench/.cmake/bench-sparse_hash-preallocate
    sparse_hash/insert: 5.0522 <!--
    sparse_hash/find  : 2.14024
    sparse_hash/maxrss: 174MiB
    sparse_hash/time:   7192.06 msec (user+sys)

P.S. the difference for sparse_hashed dictionary with 4e9 elements
(uint64, uint16) is ~18% (4975.905 vs 4103.569 sec)

v2: do not reallocate the dictionary from the progress callback
    Since this will access hashtable in parallel.
v3: drop PREALLOCATE() and do this only for source=clickhouse and empty
    <where>
2020-10-09 22:28:14 +03:00
Vladimir Golovchenko
21bc856d61 Improved the description of connecting to MS SQL Server by ODBC. 2020-09-15 11:26:57 -07:00
Dmitrii Raev
2a575fd5c8
Update external-dicts-dict-lifetime.md (#12657)
duplicated line
2020-07-22 11:26:04 +03:00
Ivan Blinkov
258d2fd499
[docs] split various kinds of CREATE queries into separate articles (#12328)
* normalize

* split & adjust links

* re-normalize

* adjust ru links

* adjust ja/tr links

* partially apply e0d19d2aea

* reset contribs
2020-07-09 18:10:35 +03:00
Nikita Mikhaylov
e55577ba65 Merge branch 'nikvas0/ssd_dict' of git://github.com/nikvas0/ClickHouse into merging-ssh-cache 2020-06-24 16:45:18 +03:00
Ivan Blinkov
652882ef4e [docs] reorganized F.A.Q. 2020-06-22 16:35:41 +03:00
Ivan Blinkov
7170f3c534
[docs] split aggregate function and system table references (#11742)
* prefer relative links from root

* wip

* split aggregate function reference

* split system tables
2020-06-18 11:24:31 +03:00
Alexander Tokmakov
e67837bc4a cleenup 2020-06-04 00:11:17 +03:00
Nikita Vasilev
e7324ec4d7 docs 2020-05-23 13:41:27 +03:00
Alexander Tokmakov
175b7aedf3 Merge branch 'master' into merging_external_source_cassandra 2020-05-19 05:21:27 +03:00
Артем Стрельцов
6b12cfb8e4 documentation added 2020-05-13 19:05:05 +03:00
Ilya Yatsishin
1d281ec032
Merge pull request #10652 from BayoNet/docs/CLICKHOUSEDOCS-623-dicts
DOCS-623: Updated introduction to external dictionaries
2020-05-08 09:35:13 +03:00
Artem Streltsov
5220d9a4db
small docs edit (#10731)
Co-authored-by: Артем Стрельцов <artemstreltsov@Air-2.local>
2020-05-07 23:00:30 +03:00
alexey-milovidov
eeac7aa313
Merge pull request #10622 from kekekekule/layout_direct
Add direct layout for dictionaries
2020-05-07 01:05:29 +03:00
BayoNet
dba72d73fe
DOCS-624: Fixing links to nowhere (#10675)
* enbaskakova-DOCSUP-652 (#101)

* "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited"

* "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited"

* "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited"

* Update docs/en/sql_reference/aggregate_functions/combinators.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/sql_reference/aggregate_functions/combinators.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/sql_reference/aggregate_functions/combinators.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/sql_reference/aggregate_functions/combinators.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* Update docs/en/sql_reference/aggregate_functions/combinators.md

Co-Authored-By: BayoNet <da-daos@yandex.ru>

* "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited"

* "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited"

* "docs(orNull&orDefault): Functions 'orNull&orDefault' have been edited"

Co-authored-by: elenbaskakova <elenbaskakova@yandex-team.ru>
Co-authored-by: BayoNet <da-daos@yandex.ru>

* Revert "enbaskakova-DOCSUP-652 (#101)" (#107)

This reverts commit 639fee7610.

* CLICKHOUSEDOCS-624: Fixed links. Was 60, became 13.

* CLICKHOUSEDOCS-624: Finished fix links in Enlish version.

* CLICKHOUSEDOCS-624: Fixed RU links

Co-authored-by: elenaspb2019 <47083263+elenaspb2019@users.noreply.github.com>
Co-authored-by: elenbaskakova <elenbaskakova@yandex-team.ru>
Co-authored-by: Sergei Shtykov <bayonet@yandex-team.ru>
2020-05-06 09:13:29 +03:00
Sergei Shtykov
efa040050c CLICKHOUSEDOCS-623: Typo fix. 2020-05-04 14:42:34 +03:00
Sergei Shtykov
37d7bedba2 CLICKHOUSEDOCS-623: Updated introduction to external dictionaries. 2020-05-04 14:39:43 +03:00
Nikolay Degterinsky
a3e557a5d2 documentation is added & added 'direct' layout into integragion test 2020-05-03 15:55:22 +03:00
Ivan Blinkov
d91c97d15d
[docs] replace underscores with hyphens (#10606)
* Replace underscores with hyphens

* remove temporary code

* fix style check

* fix collapse
2020-04-30 21:19:18 +03:00