복붙노트

[SQL] 어떻게 SQL 쿼리 결과 집합의 바이트 크기를 얻으려면?

SQL

어떻게 SQL 쿼리 결과 집합의 바이트 크기를 얻으려면?

그것은 MySQL은 SQL 쿼리의 결과의 바이트 크기를 얻을 수 있습니까?

예를 들면 :

select * from sometable;

THS 10000 개 행을 반환합니다. 나는 행하지만 바이트 결과 집합의 크기를 원하지 않는다. 그것은 수 있습니까?

해결법

  1. ==============================

    1.

    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, 정확하지, 참고하시기 바랍니다 수 설정

  2. ==============================

    2.데이터가 널 (null)이 포함 된 경우 Angelin의 솔루션을 토대로, 각 열에 IFNULL를 추가 할 수 있습니다 :

    데이터가 널 (null)이 포함 된 경우 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
    
  3. ==============================

    3.단순화 :

    단순화 :

    select sum(char_length(column1)+
        char_length(column2)+
        char_length(column3)+
        char_length(column4) ... )<-- repeat for all columns
       from your_table
    

    @futilerebel가 언급 한 것처럼 각 열에 IFNULL ()를 추가해야

  4. ==============================

    4.유니 코드가 더있을 것입니다 경우 CHAR_LENGTH ()는 바이트 문자의 수를 가져옵니다 - 바이트 수에 대한 사용 길이 () : HTTPS : //dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_length

    유니 코드가 더있을 것입니다 경우 CHAR_LENGTH ()는 바이트 문자의 수를 가져옵니다 - 바이트 수에 대한 사용 길이 () : HTTPS : //dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_length

  5. from https://stackoverflow.com/questions/4524019/how-to-get-the-byte-size-of-resultset-in-an-sql-query by cc-by-sa and MIT license