You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Polars+Connector-X中配置MySQL隔离级别及Python线程数

Polars + Connector-X 配置问题解答

1. MySQL 隔离级别配置

可以通过 Polars 的 read_database_uri() 配合 Connector-X 实现 READ UNCOMMITTED 隔离级别配置,核心是利用参数传递 MySQL 连接选项:

import polars as pl

# 方式1:为整个连接会话设置隔离级别(推荐批量查询场景)
df = pl.read_database_uri(
    uri="mysql+pymysql://user:password@host:port/your_db",
    query="SELECT * FROM target_table",
    engine="connectorx",
    connection_kwargs={"isolation_level": "READ UNCOMMITTED"}
)

# 方式2:仅对当前查询事务临时生效
df = pl.read_database_uri(
    uri="mysql+pymysql://user:password@host:port/your_db",
    query="SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT * FROM target_table",
    engine="connectorx"
)

2. 线程池与线程数配置

Connector-X 底层并非使用 Python 的 ThreadPoolExecutor,它基于 Rust 实现了独立的并行处理机制,性能比 Python 原生线程池更高效。

你可以手动配置查询线程数量,通过 engine_kwargs 参数传递 max_threads 给 Connector-X 的读取逻辑:

import polars as pl

df = pl.read_database_uri(
    uri="mysql+pymysql://user:password@host:port/your_db",
    query="SELECT * FROM large_table",
    engine="connectorx",
    engine_kwargs={"max_threads": 8}  # 根据CPU核心数和数据库并发限制调整
)

max_threads 建议设置为 CPU 核心数的 1-2 倍,避免过度占用数据库连接资源。


内容的提问来源于stack exchange,提问作者wedrano de carvalho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 10:42:10