统计对象大小函数性能比较

gtgpdb=# select * from gp_toolkit.gp_size_of_table_disk t where sotdtablename like 'rt_ok%';
 sotdoid |  sotdsize   | sotdtoastsize | sotdadditionalsize | sotdschemaname |             sotdtablename
---------+-------------+---------------+--------------------+----------------+---------------------------------------
 1503170 |           0 |       1081344 |            1441792 | gt            | rt_ok
 1503197 | 32879790712 |       1081344 |            7634944 | gt            | rt_ok_1_prt_event_time20150105
 1503225 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20150106
 1503300 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20150107
 1503351 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20150108
 1503402 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20150109
 1503453 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141220
 1503504 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141221
 1503555 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141222
 1503606 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141223
 1503657 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141224
 1503708 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141225
 1503759 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141226
 1503810 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141227
 1503861 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141228
 1503912 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141229
 1503963 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141230
 1504014 |           0 |       1081344 |            1081344 | gt            | rt_ok_1_prt_event_time20141231
(18 rows)

Time: 103713.791 ms
gtgpdb=# select * from gp_toolkit.gp_size_of_table_disk t where sotdtablename like 'manager_table';
 sotdoid | sotdsize | sotdtoastsize | sotdadditionalsize | sotdschemaname | sotdtablename
---------+----------+---------------+--------------------+----------------+---------------
 1441033 |   327680 |             0 |                  0 | gpmg           | manager_table
(1 row)

Time: 35004.159 ms
gtgpdb=# select select a.schemaname ,a.tablename ,a.tableowner,pg_total_relation_size(a.schemaname||'.'||a.tablename) size from pg_tables a where a.tablename like 'manager_table';
ERROR:  syntax error at or near "select"
LINE 1: select select a.schemaname ,a.tablename ,a.tableowner,pg_tot...
               ^
gtgpdb=# select a.schemaname ,a.tablename ,a.tableowner,pg_total_relation_size(a.schemaname||'.'||a.tablename) size from pg_tables a where a.tablename like 'manager_table';
 schemaname |   tablename   | tableowner |  size
------------+---------------+------------+---------
 gpmg       | manager_table | gpadmin    | 1736704
(1 row)

Time: 341.430 ms
gtgpdb=# select a.schemaname ,a.tablename ,a.tableowner,pg_total_relation_size(a.schemaname||'.'||a.tablename) size from pg_tables a where a.tablename like 'rt_ok%';
 schemaname |               tablename               | tableowner |    size
------------+---------------------------------------+------------+-------------
 gt        | rt_ok                          | gt        |     2523136
 gt        | rt_ok_1_prt_event_time20150105 | gt        | 33318650192
 gt        | rt_ok_1_prt_event_time20150106 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20150107 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20150108 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20150109 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141220 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141221 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141222 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141223 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141224 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141225 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141226 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141227 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141228 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141229 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141230 | gt        |     2162688
 gt        | rt_ok_1_prt_event_time20141231 | gt        |     2162688
(18 rows)

Time: 414.039 ms
gtgpdb=# select a.schemaname ,a.tablename ,a.tableowner,pg_total_relation_size(a.schemaname||'.'||a.tablename) size from pg_tables a where a.tablename like 'manager_table';
 schemaname |   tablename   | tableowner |  size
------------+---------------+------------+---------
 gpmg       | manager_table | gpadmin    | 1736704
(1 row)

Time: 330.197 ms
gtgpdb=# select * from gp_toolkit.gp_size_of_table_disk t where sotdtablename like 'manager_table';                                                                  sotdoid | sotdsize | sotdtoastsize | sotdadditionalsize | sotdschemaname | sotdtablename
---------+----------+---------------+--------------------+----------------+---------------
 1441033 |   327680 |             0 |                  0 | gpmg           | manager_table
(1 row)

Time: 26882.409 ms
gtgpdb=# select * from gp_toolkit.gp_size_of_table_disk t where sotdtablename like 'manager_table';
 sotdoid | sotdsize | sotdtoastsize | sotdadditionalsize | sotdschemaname | sotdtablename
---------+----------+---------------+--------------------+----------------+---------------
 1441033 |   327680 |             0 |                  0 | gpmg           | manager_table
(1 row)

Time: 25308.524 ms
gtgpdb=# vacuum analyze gpmg.manager_table;
VACUUM
Time: 2734.580 ms
gtgpdb=# select * from gp_toolkit.gp_size_of_table_disk t where sotdtablename like 'manager_table';
 sotdoid | sotdsize | sotdtoastsize | sotdadditionalsize | sotdschemaname | sotdtablename
---------+----------+---------------+--------------------+----------------+---------------
 1441033 |   327680 |             0 |                  0 | gpmg           | manager_table
(1 row)

Time: 25073.932 ms
gtgpdb=# select * from gp_toolkit.gp_size_of_table_disk t where sotdtablename like 'manager_table';
 sotdoid | sotdsize | sotdtoastsize | sotdadditionalsize | sotdschemaname | sotdtablename
---------+----------+---------------+--------------------+----------------+---------------
 1441033 |   327680 |             0 |                  0 | gpmg           | manager_table
(1 row)

Time: 25596.315 ms
gtgpdb=# select a.schemaname ,a.tablename ,a.tableowner,pg_total_relation_size(a.schemaname||'.'||a.tablename) size from pg_tables a where a.tablename like 'manager_table';
 schemaname |   tablename   | tableowner |  size
------------+---------------+------------+---------
 gpmg       | manager_table | gpadmin    | 1736704
(1 row)

Time: 28.949 ms
gtgpdb=# select a.schemaname ,a.tablename ,a.tableowner,pg_total_relation_size(a.schemaname||'.'||a.tablename) size from pg_tables a where a.tablename like 'manager_table';
 schemaname |   tablename   | tableowner |  size
------------+---------------+------------+---------
 gpmg       | manager_table | gpadmin    | 1736704
(1 row)

Time: 21.122 ms
gtgpdb=# select a.schemaname ,a.tablename ,a.tableowner,pg_relation_size(a.schemaname||'.'||a.tablename) size from pg_tables a where a.tablename like 'manager_table';
 schemaname |   tablename   | tableowner |  size
------------+---------------+------------+--------
 gpmg       | manager_table | gpadmin    | 327680
(1 row)

Time: 313.303 ms
gtgpdb=# select a.schemaname ,a.tablename ,a.tableowner,pg_relation_size(a.schemaname||'.'||a.tablename) size from pg_tables a where a.tablename like 'manager_table';
 schemaname |   tablename   | tableowner |  size
------------+---------------+------------+--------
 gpmg       | manager_table | gpadmin    | 327680
(1 row)

结果非常明显,能够直接使用函数的还是直接使用,避免使用封装的视图,即使是系统的视图。

-EOF-

时间: 2024-11-16 15:11:24

统计对象大小函数性能比较的相关文章

统计对象大小信息的函数和子查询的Bug

I hava below two statement sql: 0. not in subquery select a.schemaname, pg_size_pretty(pg_total_relation_size(a.schemaname||'.'||a.tablename)) from pg_tables a where a.tablename not in (select b.tablename from t b); 1. in subquery select a.schemaname

PHP文件操作 之统计目录大小

<?php //定义一个函数 统计目录大小函数 function dirSize($dirName) { //判断目录是否存在 if (!file_exists($dirName)) { die('目录不存在!'); } //判断是否是目录 if (!is_dir($dirName)) { die('您所遍历的不是目录!'); } //打开目录 $d = opendir($dirName); //判断打开目录是否成功 if (!$d) { die('打开目录失败!'); } //读取目录 whi

谈谈对象大小——从字节对齐到对象模型

谈谈对象大小——从字节对齐到对象模型 一. 前言         这篇文章主要介绍以下从c的结构体变量到c++的类对象中编译器对内存分配做的事情.总而言之,言而总之,这篇文章就是讲述对于一个变量(对象)它的内存布局是怎么样子的.         为了方便描述,我们按照以下几个层次来讲述:                 1.c中struct的字节对齐                 2.从struct到class的过渡                 3.单继承对对象内存模型的影响       

JavaScript (JS) 面向对象编程 浅析 (含对象、函数原型链解析)

1. 构造函数原型对象:prototype ① 构造函数独立创建对象,消耗性能 function Person(name) { this.name = name; this.sayHello = function () { console.log("Hello,my name is " + this.name) } } var P1 = new Person("Tom"); var P2 = new Person("Jim"); P1.sayHe

C++手稿:STL中的函数对象与函数指针

先来感受一下C++中的函数对象和函数指针: template<typename T> void printer(int a, int b, T func){ cout<<func(a, b)<<endl; } 在STL中定义了很多像上面这样的模板,这里的T是一个可调用(实现了括号运算符)的东西. 这使得我们在使用模板时可以指定一个计算策略,它可以是函数对象,也可以是函数指针. Less<int>便是一个常见的函数对象,常用来配置容器或算法.<funct

python基础之====函数对象、函数嵌套、名称空间与作用域、装饰器

阅读目录 一 函数对象 二 函数嵌套 三 名称空间与作用域 四 闭包函数 五 装饰器 六 练习题 一 函数对象 一 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 二 利用该特性,优雅的取代多分支的if def foo(): print('foo') def bar(): print('bar') dic={ 'foo':foo, 'bar':bar, } while True: choice=input(

Qt之美(一):d指针/p指针详解(解释二进制兼容,以及没有D指针就会崩溃的例子。有了D指针,所使用的对象大小永远不会改变,它就是该指针的大小。这个指针就被称作D指针)good

Translated  by  mznewfacer   2011.11.16 首先,看了Xizhi Zhu 的这篇Qt之美(一):D指针/私有实现,对于很多批评不美的同路人,暂且不去评论,只是想支持一下Xizhi Zhu,在引用一下Jerry Sun的话,“C++需要宏定义就像需要设计模式一样.也许你不知道,宏是图灵完全(turing complete)的,至少LISP下是这样,C/C++需要宏,几乎所有重要的C/C++库都需要和依赖宏.这些都超过咱们的想象,宏能带给我们所谓语法糖(Synta

STL算法设计理念 - 函数对象和函数对象当參数和返回值

函数对象: 重载函数调用操作符的类.其对象常称为函数对象(function object),即它们是行为类似函数的对象. 一个类对象,表现出一个函数的特征,就是通过"对象名+(參数列表)"的方式使用一个类对象,假设没有上下文,全然能够把它看作一个函数对待. 这是通过重载类的operator()来实现的. "在标准库中.函数对象被广泛地使用以获得弹性".标准库中的非常多算法都能够使用函数对象或者函数来作为自定的回调行为: demo #include <iostr

java调优随记-java对象大小

在java中,基本数据类型的大小是固定.但是java对象的大小是不固定的,需要通过计算. 在java中,一个空对象(没有属性和方法的对象)在堆中占用8byte,比如 Object obj = new Object();另外栈中存储引用需要占用4byte的空间,总共需要16byte空间(喂,为为什么不是12byte?因为java在内存分配的时候都是以8的倍数在分配).在java中所有的对象都继承Object,所以不论什么样的对象大小都不能小于8byte. 计算一下下面的对象的大小? Class O