要在数据库中100%完成此操作,您可以根据查询结果创建一个表:
CREATE TABLE db_name.test_table SELECT a v1, b v2 FROM db_name.tbl2;
Run Code Online (Sandbox Code Playgroud)
您要替换的结果大小的查询 SELECT a v1, b v2 FROM db_name.tbl2
然后得到表的大小
SELECT round((data_length / 1024 / 1024), 2) "Size in MB"
FROM information_schema.TABLES
WHERE table_schema = "db_name" AND table_name = "test_table";
Run Code Online (Sandbox Code Playgroud)
然后删除测试表:
drop table db_name.test_table;
Run Code Online (Sandbox Code Playgroud)
这只会给您原始数据大小,但不会给您带来任何额外的开销,例如数据包报头被传回(如果您的结果集被分成许多数据包)。
甚至可以使用临时表或在将查询传递到其中的存储过程中执行此操作。
| 归档时间: |
|
| 查看次数: |
2409 次 |
| 最近记录: |