回答

收藏

如何从我的查询MySQL计算大小?

技术问答 技术问答 58 人阅读 | 0 人回复 | 2023-09-13

我试图以MB查询单位的大小,但我不知道该怎么办。我想以这种方式提取查询的大小:" u  B# n$ i) I9 z7 D$ U$ k( @
SELECT size_query FROM my_query其中“ my_query可能是: SELECT * FROM MyTable WHERE idFactory = 1
2 ?7 B" @: b5 U( t  k# v                                                                4 A9 j2 ~+ N& x, q* ^% g5 I7 {) i, V
    解决方案:                                                               
+ V4 \9 I, ^6 A# R                                                                如果我正确理解你的问题,那么ajreal本问题的解决方案介绍已提供:
! k8 `8 ?) |7 ]6 {( c+ M7 ?select sum(row_size)from (  select    char_length(column1)      char_length(column二、     char_length(column3)     char_length(column4) ... 这将为您提供查询大小(以字节为单位),除以1024千字节,再除以兆字节。
$ O. E0 p5 t) h2 J& c1 h编辑:    如果你反正把整个结果集拉回来PHP,想知道它的大小,你可以在PHP使用类似的计算方法:
* i5 {: o5 h" G9 u  I7 r 'Apple type' => 'fruit in_stock' => true    item' => 'Biscuits type' => 'confectionery in_stock' => false    item' => 'Milk type' => 'dairy in_stock' => true   ,function get_array_size(&$array){    $size = 0;    foreach ($array as $key => $value)              if (is_array($value))                  $size  = get_array_size($value);      else if (is_string($value))                  $size  = strlen($value);      else if (is_bool($value))                  $size  = 1;      /* else if ( some other type )              } *      return $size;}echo get_array_size($data); // Outputs 43根据你的用例,这可能是可以接受的,也可能不会被你接受。如果要测量线路上的物理字节,可能不够准确。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则