是否有可能在MySQL中获取sql查询结果的字节大小?
例如:
select * from sometable;
Run Code Online (Sandbox Code Playgroud)
这会返回10000行.我不希望行,但结果集的大小,以字节为单位.可能吗?
ajr*_*eal 19
select sum(row_size)
from (
select
char_length(column1)+
char_length(column2)+
char_length(column3)+
char_length(column4) ... <-- repeat for all columns
as row_size
from your_table
) as tbl1;
Run Code Online (Sandbox Code Playgroud)
char_length因为enum,set可能不准确,请注意
fut*_*bel 13
要构建Angelin的解决方案,如果您的数据包含空值,您需要将IFNULL添加到每列:
select sum(
ifnull(char_length(column1), 0) +
ifnull(char_length(column2), 0) +
ifnull(char_length(column3), 0) +
ifnull(char_length(column4), 0) ... <-- repeat for all columns
)
from your_table
Run Code Online (Sandbox Code Playgroud)
Ang*_*dar 11
简化:
select sum(char_length(column1)+
char_length(column2)+
char_length(column3)+
char_length(column4) ... )<-- repeat for all columns
from your_table
Run Code Online (Sandbox Code Playgroud)
您需要在@futilerebel提到的每列中添加IFNULL()
小智 6
CHAR_LENGTH()如果unicode会更多字节,则获取字符数- LENGTH()用于字节数:https : //dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_length
| 归档时间: |
|
| 查看次数: |
21592 次 |
| 最近记录: |