async_load_databases
- 如果为
true,则所有使用Ordinary、Atomic和Replicated引擎的非系统数据库都会在 ClickHouse 服务器 启动后异步加载。请参见system.asynchronous_loader表,以及tables_loader_background_pool_size和tables_loader_foreground_pool_size服务器设置。任何尝试访问尚未加载的表的查询,都会只等待该表完成启动。如果加载 job 失败,查询会重新抛出错误 (而不是像async_load_databases = false那样关闭整个 server) 。被至少一个查询等待的表会以更高优先级加载。针对某个数据库的 DDL queries 也会只等待该数据库完成启动。还可以考虑为等待中的查询总数设置限制max_waiting_queries。 - 如果为
false,则所有数据库都会在 server 启动时加载。
async_load_system_database
system 数据库中有大量日志表和 parts,此设置会很有帮助。它独立于 async_load_databases 设置。
- 如果设置为
true,所有使用Ordinary、Atomic和Replicated引擎的系统数据库都会在 ClickHouse 服务器 启动后异步加载。请参见system.asynchronous_loader表、tables_loader_background_pool_size和tables_loader_foreground_pool_size服务器级设置。任何尝试访问尚未加载的系统表的查询,都会一直等待,直到该表完成启动。只要某张表正被至少一个查询等待,就会以更高优先级加载。还可以考虑设置max_waiting_queries,以限制等待中的查询总数。 - 如果设置为
false,系统数据库会在 server 启动前加载。