当前位置: 首页 > news >正文

徐州网站建设技术外包wordpress 知识 管理

徐州网站建设技术外包,wordpress 知识 管理,做网站 成都,免费云主机试用目录 一、个人理解 二、存储过程 三、虚机测试 四、解决方法 1、重建表 2、shrink space 一、个人理解 空洞率的产生是由于delete语句并不会真实的删除数据,只是在数据上打了一个不可见标签,但实际还是占用着相应的存储空间。 二、存储过程 自定义…

目录

 

一、个人理解

二、存储过程

三、虚机测试

四、解决方法

1、重建表

2、shrink space


 

一、个人理解

空洞率的产生是由于delete语句并不会真实的删除数据,只是在数据上打了一个不可见标签,但实际还是占用着相应的存储空间。

 

二、存储过程

自定义存储过程实现:查询全库(不计算系统库)中所有表的空洞率。

drop procedure if exists "CheckALLDbVoidRate";DELIMITER //
CREATE PROCEDURE "CheckALLDbVoidRate"(VoidRate varchar(30))
beginDECLARE SelectALLTableSql   text;DECLARE SelectTableVoidRate text;DECLARE ExitFlag            INT; DECLARE TmpDB               VARCHAR(100);DECLARE TmpTab              VARCHAR(100);DECLARE cur REF CURSOR; DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET ExitFlag = 1;set ExitFlag            = 0;set SelectALLTableSql   = 'select TABLE_SCHEMA ,TABLE_NAME from information_schema.tables where TABLE_TYPE = \'BASE TABLE\' AND TABLE_SCHEMA not in (\'information_schema\',\'performance_schema\',\'gbase\',\'gclusterdb\')';set SelectTableVoidRate = 'select TABLE_SCHEMA,TABLE_NAME,truncate(STORAGE_SIZE/1024/1024) as STORAGESIZE,DELETE_RATIO from performance_schema.tables where table_schema=? and table_name=? and DELETE_RATIO >= '||VoidRate||';';set @ExecuteSql         = SelectALLTableSql;set @ExecuteSql_1       = SelectTableVoidRate;prepare stmt from @ExecuteSql_1;OPEN cur FOR @ExecuteSql;WHILE ExitFlag = 0 DOFETCH cur INTO TmpDB,TmpTab; if ExitFlag = 0 thenset @Tab    = TmpTab;set @DB     = TmpDB;# select @DB,@Tab,@ExecuteSql_1;EXECUTE stmt using @DB,@Tab ; end if;END WHILE;    CLOSE cur; deallocate prepare stmt;
end;//
DELIMITER ;call CheckALLDbVoidRate('0');
参数名解释
VoidRate输入参数,字符串类型,表示输出大于等于空洞率为VoidRate的表。

三、虚机测试

gbase> drop procedure if exists "CheckALLDbVoidRate";
Query OK, 0 rows affected (Elapsed: 00:00:00.00)gbase> 
gbase> DELIMITER //
gbase> CREATE PROCEDURE "CheckALLDbVoidRate"(VoidRate varchar(30))-> begin->     DECLARE SelectALLTableSql   text;->     DECLARE SelectTableVoidRate text;->     DECLARE ExitFlag            INT; -> DECLARE TmpDB               VARCHAR(100);-> DECLARE TmpTab              VARCHAR(100);->     DECLARE cur REF CURSOR; ->     DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET ExitFlag = 1;->     ->     set ExitFlag            = 0;-> ->     set SelectALLTableSql   = 'select TABLE_SCHEMA ,TABLE_NAME from information_schema.tables '>                            where TABLE_TYPE = \'BASE TABLE\' AND TABLE_SCHEMA not in '>                                (\'information_schema\',\'performance_schema\',\'gbase\',\'gclusterdb\')';->    -> set SelectTableVoidRate = 'select TABLE_SCHEMA,TABLE_NAME,truncate(STORAGE_SIZE/1024/1024) as STORAGESIZE,DELETE_RATIO '>                            from performance_schema.tables '>                                where table_schema=? and table_name=? and DELETE_RATIO >= '||VoidRate||';';-> -> ->     set @ExecuteSql         = SelectALLTableSql;->     set @ExecuteSql_1       = SelectTableVoidRate;-> -> prepare stmt from @ExecuteSql_1;-> ->     OPEN cur FOR @ExecuteSql;->     WHILE ExitFlag = 0 DO->     FETCH cur INTO TmpDB,TmpTab; ->         if ExitFlag = 0 then->     set @DB     = TmpDB;-> set @Tab    = TmpTab;-> # select @DB,@Tab,@ExecuteSql_1;->             EXECUTE stmt using @DB,@Tab ; ->         end if;->     END WHILE;->     CLOSE cur; -> -> deallocate prepare stmt;-> end;//
Query OK, 0 rows affected (Elapsed: 00:00:00.00)gbase> DELIMITER ;
gbase> 
gbase> call CheckALLDbVoidRate('0');
+--------------+--------------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME         | STORAGESIZE | DELETE_RATIO |
+--------------+--------------------+-------------+--------------+
| bd_db_a141   | t_hn_customer_list |           0 |            0 |
+--------------+--------------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.00)+--------------+-------------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME        | STORAGESIZE | DELETE_RATIO |
+--------------+-------------------+-------------+--------------+
| bd_db_a141   | t_hn_stage_target |           0 |            0 |
+--------------+-------------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.00)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| czg          | a          |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.01)+--------------+---------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME    | STORAGESIZE | DELETE_RATIO |
+--------------+---------------+-------------+--------------+
| czg          | alldbvoidrate |           0 |            0 |
+--------------+---------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.01)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| czg          | b          |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.01)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| czg          | czg        |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.01)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| czg          | czg_test   |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.01)+--------------+------------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME       | STORAGESIZE | DELETE_RATIO |
+--------------+------------------+-------------+--------------+
| czg          | d_admin_kpi_code |           0 |            0 |
+--------------+------------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.02)+--------------+--------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME   | STORAGESIZE | DELETE_RATIO |
+--------------+--------------+-------------+--------------+
| czg          | hash_tb_like |           0 |            0 |
+--------------+--------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.02)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| czg          | moon       |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.02)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| czg          | moon_copy  |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.02)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| czg          | sun        |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.02)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| czg          | test       |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.02)+--------------+--------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME   | STORAGESIZE | DELETE_RATIO |
+--------------+--------------+-------------+--------------+
| czg          | test20230302 |           0 |            0 |
+--------------+--------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.03)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| czg          | test_12_05 |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.03)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| czg          | test_table |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.03)+--------------+--------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME   | STORAGESIZE | DELETE_RATIO |
+--------------+--------------+-------------+--------------+
| czg          | test_table_1 |           0 |            0 |
+--------------+--------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.03)+--------------+--------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME   | STORAGESIZE | DELETE_RATIO |
+--------------+--------------+-------------+--------------+
| czg          | test_table_2 |           0 |            0 |
+--------------+--------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.04)+--------------+--------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME   | STORAGESIZE | DELETE_RATIO |
+--------------+--------------+-------------+--------------+
| czg          | test_table_3 |           0 |            0 |
+--------------+--------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.04)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| czg          | testtab    |           9 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.04)+--------------+--------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME   | STORAGESIZE | DELETE_RATIO |
+--------------+--------------+-------------+--------------+
| czg          | testtab_copy |           4 |            0 |
+--------------+--------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.04)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| zxj          | a          |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.04)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| zxj          | b          |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.05)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| zxj          | czg        |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.05)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| zxj          | czg_test   |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.05)+--------------+------------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME       | STORAGESIZE | DELETE_RATIO |
+--------------+------------------+-------------+--------------+
| zxj          | d_admin_kpi_code |           0 |            0 |
+--------------+------------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.05)+--------------+--------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME   | STORAGESIZE | DELETE_RATIO |
+--------------+--------------+-------------+--------------+
| zxj          | hash_tb_like |           0 |            0 |
+--------------+--------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.06)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| zxj          | moon       |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.06)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| zxj          | moon_copy  |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.06)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| zxj          | sun        |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.06)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| zxj          | test_12_05 |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.07)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| zxj          | test_table |           0 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.07)+--------------+--------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME   | STORAGESIZE | DELETE_RATIO |
+--------------+--------------+-------------+--------------+
| zxj          | test_table_1 |           0 |            0 |
+--------------+--------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.07)+--------------+--------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME   | STORAGESIZE | DELETE_RATIO |
+--------------+--------------+-------------+--------------+
| zxj          | test_table_2 |           0 |            0 |
+--------------+--------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.07)+--------------+--------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME   | STORAGESIZE | DELETE_RATIO |
+--------------+--------------+-------------+--------------+
| zxj          | test_table_3 |           0 |            0 |
+--------------+--------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.08)+--------------+------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME | STORAGESIZE | DELETE_RATIO |
+--------------+------------+-------------+--------------+
| zxj          | testtab    |           1 |            0 |
+--------------+------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.08)+--------------+--------------+-------------+--------------+
| TABLE_SCHEMA | TABLE_NAME   | STORAGESIZE | DELETE_RATIO |
+--------------+--------------+-------------+--------------+
| zxj          | testtab_copy |           0 |            0 |
+--------------+--------------+-------------+--------------+
1 row in set (Elapsed: 00:00:00.08)Query OK, 0 rows affected (Elapsed: 00:00:00.08)

 

参数名说明
TABLE_SCHEMA库名
TABLE_NAME表名
STORAGESIZE存储空间(单位:M)
DELETE_RATIO空洞率(单位:%)

四、解决方法

1、重建表

我本来想把SQL包到存储过程中的,发现存储过程中不允许执行lock语句,会提示如下错误。

ERROR 1314 (0A000): LOCK is not allowed in stored procedures

放到语句句柄中执行报错如下:

This command is not supported in the prepared statement protocol yet

所以我们手动执行了,或者想包到其它语言里也行,方便。

gbase> lock table zxj.testtab write;
Query OK, 0 rows affected (Elapsed: 00:00:00.01)gbase> create table zxj.testtab_new like zxj.testtab;   
Query OK, 0 rows affected (Elapsed: 00:00:00.13)gbase> insert into zxj.testtab_new select * from  zxj.testtab;
Query OK, 0 rows affected (Elapsed: 00:00:00.02)
Records: 0  Duplicates: 0  Warnings: 0gbase> rename table zxj.testtab to zxj.testtab_old;
Query OK, 0 rows affected (Elapsed: 00:00:00.02)gbase> rename table zxj.testtab_new to zxj.testtab;
Query OK, 0 rows affected (Elapsed: 00:00:00.02)gbase> unlock tables;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)gbase> drop table zxj.testtab_old;
Query OK, 0 rows affected (Elapsed: 00:00:00.01)

2、shrink space

建议在有gcluster_shrink_to_rebalance这个参数的版本使用shrink space full,避免出现一些不必要的麻烦。

gbase> set gcluster_shrink_to_rebalance=1;
Query OK, 0 rows affected (Elapsed: 00:00:00.01)gbase> alter table zxj.testtab shrink space full ;
Query OK, 0 rows affected (Elapsed: 00:00:00.20)

如果不加full,如下:

gbase> alter table zxj.testtab shrink space;
Query OK, 0 rows affected (Elapsed: 00:00:00.01)

这种耗时会较短在实际操作中,但释放空间效率不高,因为gbase按照列进行存储,一个列存储成一个文件,文件大小为2G,也就是下面的这个参数,需要这个文件中的每一条数据都打上删除标记,才能删除文件来释放空间。

base> show variables like'_gbase_segment_size';
+---------------------+------------+
| Variable_name       | Value      |
+---------------------+------------+
| _gbase_segment_size | 2147483648 |
+---------------------+------------+
1 row in set (Elapsed: 00:00:00.00)gbase> select 2147483648 / 1024 / 1024 / 1024;
+---------------------------------+
| 2147483648 / 1024 / 1024 / 1024 |
+---------------------------------+
|                  2.000000000000 |
+---------------------------------+
1 row in set (Elapsed: 00:00:00.00)

 

 

http://www.yayakq.cn/news/397299/

相关文章:

  • 1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.北京华夏工程建设监理公司网站
  • 绝味鸭脖网站建设规划书陕西住房建设厅考试官方网站
  • 网站做宣传大学生兼职网站开发毕设论文
  • 简述网站建设的流程免费云服务器主机
  • 网页设计与网站建设在线第二章移动网站开发与维护
  • 做电脑网站用什么软件网站域名注册
  • 玩具网站建设策划书网站推广规范
  • 便宜的做网站公司专业的vi设计公司
  • 服务好的网站建设平台平顶山专业做网站公司
  • wordpress做动漫网站铜仁搜狗推广
  • 机关网站建设总结如何禁止通过ip访问网站
  • 天津网站优化收费app推广方法及技巧
  • 微网站开发需要几个人网站建设动画教程
  • 网站建设的技术风险分析与规避app开发公司有哪些流程
  • wdcp网站打不开河南省汝州市文明建设门户网站
  • wordpress搭建ss网站描述怎么写利于seo
  • 网站开发需要学php吗wordpress商业源码
  • 协会网站改版建议宁夏省建筑信息平台
  • 设备建设网站seo顾问是啥
  • 保护稀有动物网站建设策划书镭拓网站建设官网
  • 网站开发安全性枣强网站建设电话
  • 昆山高端网站建设公司哪家好做一个简单的网页游戏
  • 重庆门户网站开发报价网络营销论文引言
  • 企业微信网站建设方案棋牌网站哪里做
  • 网站地址解析简述企业网站建设的目的有哪些
  • 电子商城网站开发要多少钱网络工程专业毕业设计论文
  • 拉趣网站是谁做的wordpress安装幻灯片插件
  • 有哪些做设计交易网站有哪些腾讯云网站安全认证
  • 汕头企业做网站oppo手机开发者选项在哪
  • 淮北论坛招聘求职昆明市网络优化案例