ClickHouse.Driver NuGet 包中。
HTTP
HTTP 客户端提供线程安全的高级ClickHouseClient API,以及
供 ORM 使用的 ADO.NET API。它支持 .NET 6.0 及更高版本,适用于大多数应用程序。
如果有以下需求,请使用 HTTP 客户端:
- 使用 ADO.NET 或 ORM;
- 以 CSV、JSONEachRow、Parquet 或原始数据流格式输入和输出数据;
- 使用 bearer 身份验证或自定义 HTTP 请求头;
- 自定义参数类型解析、参数格式化或读取转换;
- 为每次查询指定数据库或角色;
- 提升
JSON处理性能。TCP 客户端只能以文本形式传输JSON值。
原生 TCP
原生 TCP 客户端目前仍处于实验阶段,其公开 API 可能在后续版本中发生变化。它提供ClickHouseTcpClient API,支持按列读取数据块、原生压缩、连接池复用以及
固定会话。适用于 .NET 8.0 及更高版本。
如需以下功能,请使用原生 TCP 客户端:
- 更高的性能,尤其是在按列处理数据时;
- 列式数据块;
- 持久连接;
- 通过
OpenSessionAsync使用固定会话; - 进度、profile、日志、汇总值和极值回调;
- 将 W3C trace 上下文传播至 ClickHouse。