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

电子商务网站是电子商务企业网站开发商城实例

电子商务网站是电子商务企业,网站开发商城实例,中兴豫建设管理有限公司网站,耒阳网站建设1 业务背景GaussDB的优化器生成计划不优的情况下,对DBA调优过程中不对业务sql修改场景下,提供3种计划管理,分别为plan hint,sql patch,spm。2 sql patch的使用场景在发现查询语句的执行计划、执行方式未达预期的场景下,可以通过创…

1 业务背景

GaussDB的优化器生成计划不优的情况下,对DBA调优过程中不对业务sql修改场景下,提供3种计划管理,分别为plan hint,sql patch,spm。

2 sql patch的使用场景

在发现查询语句的执行计划、执行方式未达预期的场景下,可以通过创建查询补丁的方式, 使用 Hint对查询计划进行调优或对特定的语句进行报错短路处理。

SQL  Patch能够在避免直接修改用户业务语句的前提下对查询执行的方式做一定调整。

3 使用前提

1)、SQL Patch的实现基于Unique SQL  ID,所以需要打开相关的运维参数才可以生效 ( enable_resource_track = on,   instr_unique_sql_count > 0)。
2)、Unique SQL  ID在WDR报告和慢SQL视图中都可以获取到,在创建SQL  Patch时需要指定Unique SQL  ID 。
3)、对于存储过程内的SQL则需要设置参数 instr_unique_sql_track_type  =  'all' 后在 dbe_perf.statement_history视图中查询Unique SQL ID 。

4 使用举例

步骤1:创建测试数据

[Ruby@dtest1 ~]$ gsql -h xx.xxx.xx.71 -dcsdn -p8000 -U csdn -W '******' -ar
gsql ((GaussDB Kernel 505.2.1 build 159cea95) compiled at 2024-12-27 09:22:44 commit 10161 last mr 21504 release)
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
Type "help" for help.csdn=>
csdn=> set search_path=csdn;
SET
csdn=> CREATE TABLE hint_t1(a int, b int, c int);
CREATE TABLE
csdn=> CREATE  INDEX ON hint_t1(a);
CREATE INDEX
csdn=> INSERT  INTO hint_t1 VALUES(1, 1, 1);
INSERT 0 1

步骤2:打开FullSQL统计信息(track_stmt_stat_level:L1,L1)

csdn=> SET track_stmt_stat_level  = 'L1,L1';
SET
csdn=> SET explain_perf_mode = normal;
SET

步骤3:登入postgres库获取unique sql id

gsql -h ***.***.***71 -p 8000 -d postgres -U root -W ******* -ar
gsql ((GaussDB Kernel 505.2.1 build 159cea95) compiled at 2024-12-27 09:22:44 commit 10161 last mr 21504 release)
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
Type "help" for help.gaussdb=> SELECT unique_query_id, query, query_plan  FROM dbe_perf.statement_history WHERE query  LIKE '%hint_t1%';unique_query_id |                   query                   |                                 query_plan-----------------+-------------------------------------------+-------------------------------------------------------------------
----------868389431 | SELECT * FROM hint_t1 t1 WHERE t1.a =  ?; | Datanode Name: dn_6001_6002_6003+|                                           | Bitmap Heap Scan on hint_t1 t1  (cost=4.33..14.88 rows=10 width=12
)        +|                                           |   Recheck Cond: (a = '***')+|                                           |   ->  Bitmap Index Scan on hint_t1_a_idx  (cost=0.00..4.33 rows=10width=0)+|                                           |         Index Cond: (a = '***')+|                                           |+|                                           |
(1 row)

得到的unique sql id为:868389431

步骤4:登入业务库,对指定SQL使用SQL Patch

SELECT * FROM dbe_sql_util.create_hint_sql_patch('patch1', 868389431, 'indexscan(t1)');create_hint_sql_patch
-----------------------t
(1 row)csdn=> set search_path=csdn;
SET

步骤5:验证计划结果:

explain SELECT *  FROM hint_t1 t1 WHERE t1.a = 1;
SET
NOTICE:  Plan influenced by SQL hint patchid |                    operation                     | E-rows | E-width |    E-costs
----+--------------------------------------------------+--------+---------+---------------1 | ->  Index Scan using hint_t1_a_idx on hint_t1 t1 |     10 |      12 | 0.000..32.425
(1 row)Predicate Information (identified by plan id)
----------------------------------------------------1 --Index Scan using hint_t1_a_idx on hint_t1 t1Index Cond: (a = 1)
(2 rows)====== Query Others =====
---------------------------Bypass: Yes
(1 row)

执行计划结果:Plan influenct by SQL hint patch

步骤6:查看sql patch

csdn=> select * from dbe_sql_util.show_sql_patch('patch1');unique_sql_id | enable | abort |   hint_str
---------------+--------+-------+---------------868389431 | t      | f     | indexscan(t1)
(1 row)csdn=>

步骤7:禁用sql patch

csdn=> select * from dbe_sql_util.disable_sql_patch('patch1');disable_sql_patch
-------------------t
(1 row)csdn=>

步骤8:验证禁用之后sql patch

csdn=> explain SELECT *  FROM hint_t1 t1 WHERE t1.a = 1;id |                  operation                   | E-rows | E-width |    E-costs
----+----------------------------------------------+--------+---------+---------------1 | ->  Bitmap Heap Scan on hint_t1 t1           |     10 |      12 | 4.328..14.8832 |    ->  Bitmap Index Scan using hint_t1_a_idx |     10 |       0 | 0.000..4.325
(2 rows)Predicate Information (identified by plan id)
-----------------------------------------------1 --Bitmap Heap Scan on hint_t1 t1Recheck Cond: (a = 1)2 --Bitmap Index Scan using hint_t1_a_idxIndex Cond: (a = 1)
(4 rows)csdn=>

http://www.dtcms.com/a/583078.html

相关文章:

  • 淄博制作网站的公司平台景观设计效果图
  • 网站建设标志头像图片科技产品
  • Maven的下载与安装
  • 怎么建网站锦州公司营业执照查询
  • 北京网站公司教人做家务的网站
  • 做三盛石材网站的公司生鲜网站建设规划书
  • 公司的国外网站怎么建网站建设专题页
  • 建设速干裤移动网站wordpress static配置
  • 做网站信科网站建设网站项目开发收费标准
  • asp网站生成静态网站app的区别是什么
  • 【C++】--stack和queue
  • 全美东莞网站建设网站改版 如何改版
  • Windows电脑上有哪些可以记录工作计划提醒的待办工具
  • 数据类型设计_数据的概念
  • 做商务网站服务网站小程序app定制开发
  • 日语学习-日语知识点小记-进阶-JLPT-N1阶段应用练习(9):语法 +2021年12月N1
  • 郑州网站关键词推广人工智能网站开发
  • JavaScript Selection API详解
  • 深圳专业AI优化实践案例:潮视新创引领行业变革
  • 江苏省住房和城乡建设网站东莞网站建设硅胶
  • 做驾校题目用什么网站好网站开发ppt方案模板
  • 西安搬家公司招聘网站优化网站建设公司
  • 1BBE-2ECD流水灯芯片20路 led灯带跑马灯驱动芯片 追尾流星雨灯IC
  • 做网站接私活流程网站建设预算项目
  • 淮南网站建设全包wordpress 免费中文模板下载地址
  • C# EventWaitHandle
  • 如何运营网站制作企业官网哪家好
  • 十堰哪家网站制作公司技术好企点登录
  • 七彩喜智慧康养:用科技的温度,重新定义“老有所依”
  • Tomcat8版本升级教程