# split_data **Repository Path**: darkathena/split_data ## Basic Information - **Project Name**: split_data - **Description**: 分片 SQL 生成算法,有JAVA和PYTHON两个版本,输入带主键的表名和分片数,生成基于主键条件的多个分片SQL - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-29 - **Last Updated**: 2026-01-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 分片 SQL 生成工具 输入表名与分片数,程序拉取主键数据,在内存计算切片边界并输出互不重叠的 WHERE 语句。支持 PostgreSQL/GaussDB/openGauss 与 Oracle。 [](https://deepwiki.com/Dark-Athena/split_data) ## 环境与安装 1. 准备 Python 3.9+。 2. 安装依赖: ```bash pip install -r requirements.txt ``` 3. 数据库驱动: - PostgreSQL: 使用 `psycopg2-binary`(已在依赖中)。 - Oracle: 使用 `cx_Oracle`(已在依赖中);需要本地 Oracle Instant Client 可用。 ## 使用示例 - PostgreSQL: ```bash python python/slice_sql.py \ --dbtype pg \ --conn "dbname=demo user=demo password=demo host=127.0.0.1 port=5432" \ --table public.my_table \ --slices 8 ``` 或 Java 版(需先将 JDBC 驱动放入 classpath): ```bash javac -cp "java/lib/*" java/SliceSql.java java -cp ".:java/lib/*:java" SliceSql \ --dbtype=pg \ --url="jdbc:postgresql://127.0.0.1:5432/demo" \ --user=demo --password=demo \ --table=public.my_table --slices=8 ``` - Oracle(EZ Connect): ```bash python python/slice_sql.py \ --dbtype ora \ --conn "demo/demo@127.0.0.1:1521/XEPDB1" \ --table MY_TABLE \ --slices 8 ``` 或 Java 版: ```bash javac -cp "java/lib/*" java/SliceSql.java java -cp ".:java/lib/*:java" SliceSql \ --dbtype=ora \ --url="jdbc:oracle:thin:@127.0.0.1:1521/XEPDB1" \ --user=demo --password=demo \ --table=MY_TABLE --slices=8 ``` 程序会打印多条 `SELECT * FROM