sqlmysqlrdbms

How to get the byte size of resultset in an SQL query?


Is it possible to get the size in bytes of the results of an sql query in MySQL?

For example:

select * from sometable;

ths returns 10000 rows. I don't want the rows but the size of the resultset in bytes. Is it possible?


Solution

  • 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;
    

    char_length for enum, set might not accurate, please take note