往tidb插入10000条数据,可以使用inser into什么语句
时间: 2024-10-12 15:08:28 浏览: 8
在TiDB(Table Store)中,如果你想往表中插入10000条数据,可以使用 `INSERT INTO` 语句配合循环或分批插入来提高效率,防止一次性加载大量数据导致性能瓶颈。以下是一个基本示例,假设我们有一个名为 `test_table` 的表,有 `id` 和 `data` 两列:
```sql
CREATE TABLE test_table (
id INT PRIMARY KEY,
data VARCHAR(255)
);
-- 使用循环插入,每1000条为一批
DECLARE @start INT DEFAULT 1;
DECLARE @end INT DEFAULT 10000;
WHILE @start <= @end DO
INSERT INTO test_table (id, data)
SELECT (@start + x) % 1000 + 1, 'example_data_' || @start
FROM (
SELECT 1 UNION ALL SELECT 2 UNION ALL ... UNION ALL SELECT 1000
) x
LIMIT 1000;
SET @start += 1000;
END WHILE;
COMMIT;
```
或者你可以使用 `UNION ALL` 来批量生成数据然后一次性插入:
```sql
INSERT INTO test_table (id, data)
SELECT ROW_NUMBER() OVER (ORDER BY some_id), 'example_data_' || ROW_NUMBER()
FROM (
SELECT 1 UNION ALL SELECT 2 UNION ALL ... UNION ALL SELECT 1000
) x
LIMIT 10000;
```
这里 `some_id` 是一个辅助列,确保数据顺序。