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

福州网站设计外包长沙网站seo多少钱

福州网站设计外包,长沙网站seo多少钱,山西seo基础教程,wordpress发布文章TPCH 22条SQL语句分析 - xibuhaohao - 博客园 TPCH模型规范、测试说明及22条语句 - zhjh256 - 博客园 TPC-DS 性能比较#xff1a;TiDB 与 Impala-PingCAP | 平凯星辰 揭秘Oracle TPC-H性能优化#xff1a;如何提升数据库查询速度#xff0c;揭秘实战技巧与挑战 引言 T…TPCH 22条SQL语句分析 - xibuhaohao - 博客园 TPCH模型规范、测试说明及22条语句 - zhjh256 - 博客园 TPC-DS 性能比较TiDB 与 Impala-PingCAP | 平凯星辰 揭秘Oracle TPC-H性能优化如何提升数据库查询速度揭秘实战技巧与挑战 引言 TPC-HTransaction Processing Performance Council H-Scale Performance Benchmark是一个广泛使用的数据库性能基准测试用于衡量数据库系统在高并发和大规模数据集上的查询性能。Oracle数据库作为企业级数据库的佼佼者其性能优化一直是数据库管理员和开发者关注的焦点。本文将深入探讨Oracle TPC-H性能优化揭示提升数据库查询速度的实战技巧与挑战。 一、TPC-H基准测试简介 TPC-H基准测试模拟了典型的在线事务处理OLTP场景包括订单处理、库存管理和客户服务等多个方面。它通过一系列复杂的SQL查询来测试数据库的性能。在TPC-H基准测试中查询的性能是衡量数据库系统效率的重要指标。 二、TPC-H性能优化技巧 1. 索引优化 索引是提升查询性能的关键。以下是一些索引优化的技巧 创建索引针对查询中频繁使用的列创建索引例如 CREATE INDEX idx_order_date ON orders (order_date); 监控索引使用情况定期检查索引的使用情况确保索引被有效利用。 SELECT * FROM v$index_usage; 2. 查询优化 查询优化是提升性能的直接方法。以下是一些查询优化的技巧 使用执行计划通过分析执行计划找出查询性能瓶颈。 EXPLAIN PLAN FOR SELECT * FROM orders WHERE order_date 2021-01-01; SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); 优化子查询将子查询转换为连接查询以提高性能。 SELECT d.department_name, COUNT(e.employee_id) AS employee_count FROM departments d JOIN employees e ON d.department_id e.department_id GROUP BY d.department_name; 3. 物理设计优化 分区表将大表分区可以提高查询性能。 CREATE TABLE orders ( order_id NUMBER, order_date DATE, ... ) PARTITION BY RANGE (order_date) ( PARTITION p1 VALUES LESS THAN (2021-01-01), PARTITION p2 VALUES LESS THAN (2022-01-01), ... ); 触发器和存储过程合理使用触发器和存储过程可以提高数据一致性和查询性能。 CREATE OR REPLACE TRIGGER trig_after_insert_order AFTER INSERT ON orders FOR EACH ROW BEGIN -- 触发器逻辑 END; 三、实战案例 以下是一个实际的TPC-H性能优化案例 假设在TPC-H基准测试中查询Q1找出每个供应商的总订单数的执行时间过长。通过分析执行计划我们发现orders表的supplier_id列未创建索引。在创建索引后查询性能得到了显著提升。 四、挑战与展望 TPC-H性能优化面临以下挑战 数据量庞大随着数据量的增长性能优化变得越来越复杂。 多并发查询在高并发环境下优化查询性能是一项挑战。 未来随着数据库技术的发展我们将有更多高效的工具和方法来提升TPC-H性能。 结语 Oracle TPC-H性能优化是数据库管理员和开发者必须掌握的技能。通过合理的索引优化、查询优化和物理设计优化可以有效提升数据库查询速度。在实际项目中不断总结经验持续优化是提升数据库性能的关键。 TiDB TPC-H 性能对比测试报告 - v5.4 MPP 模式对比 Greenplum 6.15.0 以及 Apache Spark 3.1.1 测试概况 本次测试对比了 TiDB v5.4 MPP 模式下和主流分析引擎例如 Greenplum 和 Apache Spark 最新版本在 TPC-H 100 GB 数据下的性能表现。结果显示TiDB v5.4 MPP 模式下相对这些方案有 2-3 倍的性能提升。 TiDB v5.0 中引入的 TiFlash 组件的 MPP 模式大大幅增强了 TiDB HTAP 形态。本文的测试对象如下 TiDB v5.4 MPP 执行模式下的列式存储Greenplum 6.15.0Apache Spark 3.1.1 Parquet 测试环境 硬件配置 实例类型实例数PD1TiDB1TiKV3TiFlash3 CPUIntel(R) Xeon(R) CPU E5-2630 v4 2.20GHz40 核内存189 GB磁盘NVMe 3TB * 2 软件版本 服务类型软件版本TiDB5.4Greenplum6.15.0Apache Spark3.1.1 配置参数 TiDB v5.4 配置 v5.4 的 TiDB 集群除以下配置项外均使用默认参数配置。所有 TPC-H 测试表均以 TiFlash 列存进行同步无额外分区和索引。 在 TiFlash 的 users.toml 配置文件中进行如下配置 [profiles.default] max_memory_usage 10000000000000 使用 SQL 语句设置以下会话变量 set tidb_isolation_read_enginestiflash; set tidb_allow_mpp1; set tidb_mem_quota_query 10 30; Greenplum 配置 Greenplum 集群使用额外的一台 Master 节点部署共四台每台 Segment Server 部署 8 Segments每个 NVMe SSD 各 4 个总共 24 Segments。存储格式为 append-only / 列式存储分区键为主键。 log_statement all gp_autostats_mode none statement_mem 2048MB gp_vmem_protect_limit 16384 Apache Spark 配置 Apache Spark 测试使用 Apache Parquet 作为存储格式数据存储在 HDFS 上。HDFS 为三节点为每个节点指定两块 NVMe SSD 盘作为数据盘。通过 Standalone 方式启动 Spark 集群使用 NVMe SSD 盘作为 spark.local.dir 本地目录以借助快速盘加速 Shuffle Spill 过程无额外分区和索引。 --driver-memory 20G --total-executor-cores 120 --executor-cores 5 --executor-memory 15G 测试结果 注意 以下测试结果均为 3 次测试的平均值单位均为秒。 Query IDTiDB v5.4Greenplum 6.15.0Apache Spark 3.1.1 Parquet18.0864.130752.6422.534.7661211.8334.8415.6289813.39410.9412.883188.54512.2723.3544925.2361.326.0332.2175.9112.3126625.4586.7111.8244423.12944.1922.4014435.2107.1312.5107112.18112.182.622110.99122.887.979066.99136.8410.1587312.26141.694.793943.89153.2910.487859.82165.044.642626.761711.774.6524344.651812.8764.8764630.27194.758.086254.7208.8915.470168.42124.4439.0859434.83221.237.674764.59 以上性能图中蓝色为 TiDB v5.4红色为 Greenplum 6.15.0黄色为 Apache Spark 3.1.1纵坐标是查询的处理时间。纵坐标数值越低表示 TPC-H 性能越好。 TiDB TPC-H 性能对比测试报告 - v4.0 对比 v3.0 测试目的 对比 TiDB v4.0 和 v3.0 OLAP 场景下的性能。 因为 TiDB v4.0 中新引入了 TiFlash 组件增强 TiDB HTAP 形态本文的测试对象如下 v3.0 仅从 TiKV 读取数据。v4.0 仅从 TiKV 读取数据。v4.0 通过智能选择混合读取 TiKV、TiFlash 的数据。 测试环境 (AWS EC2) 硬件配置 服务类型EC2 类型实例数PDm5.xlarge3TiDBc5.4xlarge2TiKV TiFlashi3.4xlarge3TPC-Hm5.xlarge1 软件版本 服务类型软件版本PD3.0、4.0TiDB3.0、4.0TiKV3.0、4.0TiFlash4.0tiup-bench0.2 配置参数 v3.0 v3.0 的 TiDB 和 TiKV 均为默认参数配置。 变量配置 set global tidb_distsql_scan_concurrency 30; set global tidb_projection_concurrency 16; set global tidb_hashagg_partial_concurrency 16; set global tidb_hashagg_final_concurrency 16; set global tidb_hash_join_concurrency 16; set global tidb_index_lookup_concurrency 16; set global tidb_index_lookup_join_concurrency 16; v4.0 v4.0 的 TiDB 为默认参数配置。 TiKV 配置 readpool.storage.use-unified-pool: false readpool.coprocessor.use-unified-pool: true PD 配置 replication.enable-placement-rules: true TiFlash 配置 logger.level: info learner_config.log-level: info 变量配置 注意 部分参数为 SESSION 变量。建议所有查询都在当前 SESSION 中执行。 set global tidb_allow_batch_cop 1; set session tidb_opt_distinct_agg_push_down 1; set global tidb_distsql_scan_concurrency 30; set global tidb_projection_concurrency 16; set global tidb_hashagg_partial_concurrency 16; set global tidb_hashagg_final_concurrency 16; set global tidb_hash_join_concurrency 16; set global tidb_index_lookup_concurrency 16; set global tidb_index_lookup_join_concurrency 16; 测试方案 硬件准备 为了避免 TiKV 和 TiFlash 争抢磁盘和 I/O 资源把 EC2 配置的两个 NVMe SSD 盘分别挂载为 /data1 及 /data2把 TiKV 的部署至 /data1TiFlash 部署至 /data2。 测试过程 通过 TiUP 部署 TiDB v4.0 和 v3.0。 通过 TiUP 的 bench 工具导入 TPC-H 10G 数据。 执行以下命令将数据导入 v3.0 tiup bench tpch prepare \ --host ${tidb_v3_host} --port ${tidb_v3_port} --db tpch_10 \ --sf 10 \ --analyze --tidb_build_stats_concurrency 8 --tidb_distsql_scan_concurrency 30 执行以下命令将数据导入 v4.0 tiup bench tpch prepare \ --host ${tidb_v4_host} --port ${tidb_v4_port} --db tpch_10 --password ${password} \ --sf 10 \ --tiflash \ --analyze --tidb_build_stats_concurrency 8 --tidb_distsql_scan_concurrency 30 运行 TPC-H 的查询。 下载 TPC-H 的 SQL 查询文件 git clone https://github.com/pingcap/tidb-bench.git cd tpch/queries 查询并记录耗时。 对于 TiDB v3.0使用 MySQL 客户端连接到 TiDB然后执行查询记录 v3.0 查询耗时。对于 TiDB v4.0使用 MySQL 客户端连接到 TiDB再根据测试的形态选择其中一种操作 设置 set session.tidb_isolation_read_engines tikv,tidb; 后再执行查询记录 v4.0 仅从 TiKV 读取数据的查询耗时。设置 set session.tidb_isolation_read_engines tikv,tiflash,tidb; 后再执行查询记录 v4.0 通过智能选择从 TiKV 和 TiFlash 混合读取数据的查询耗时。 提取整理耗时数据。 测试结果 注意 本测试所执行 SQL 语句对应的表只有主键没有建立二级索引。因此以下测试结果为无索引结果。 Query IDv3.0v4.0 TiKV Onlyv4.0 TiKV / TiFlash Automatically17.78s7.45s2.09s23.15s1.71s1.71s36.61s4.10s4.05s42.98s2.56s1.87s520.35s5.71s8.53s64.75s2.44s0.39s77.97s3.72s3.59s85.89s3.22s8.59s934.08s11.87s15.41s104.83s2.75s3.35s113.98s1.60s1.59s125.63s3.40s1.03s135.41s4.56s4.02s145.19s3.10s0.78s1510.25s1.82s1.26s162.46s1.51s1.58s1723.76s12.38s8.52s1817.14s16.38s16.06s195.70s4.59s3.20s204.98s1.89s1.29s2111.12s6.23s6.26s224.49s3.05s2.31s 以上性能图中蓝色为 v3.0红色为 v4.0仅从 TiKV 读黄色为 v4.0从 TiKV、TiFlash 智能选取纵坐标是查询的处理时间。纵坐标越低表示性能越好。 v4.0仅从 TiKV 读取数据即 TiDB 仅会从 TiKV 中读取数据。将该结果与 v3.0 的结果对比可得知TiDB、TiKV 升级至 4.0 版本后TPC-H 性能得到的提升幅度。v4.0从 TiKV、TiFlash 智能选取即 TiDB 优化器会自动根据代价估算选择是否使用 TiFlash 副本。将该结果与 v3.0 的结果对比可得知在 v4.0 完整的 HTAP 形态下TPC-H 性能得到的提升幅度。 【数据库】TiDB 5.3 TPCH 100G测试及思考 一、环境 tpc-H 100G数据 2.8版本 22个场景sql https://github.com/pingcap/tidb-bench/tree/master/tpch/queries 官方 节点数量3 CPUIntel(R) Xeon(R) CPU E5-2630 v4 2.20GHz40 核 内存189 GB 磁盘NVMe 3TB * 2 华为云 kc1.4xlarge.4 节点数量6 CPU16vCPUskunpeng 920 内存64 GB 磁盘极速SSDfio bs1M job10 w8783MiB/s,8782 IOPS 布局tikv和tiflash同一主机*3tidb和pd在同一主机*3绑2node 普通SSD TaiShan 节点数量6 CPU128 CPUkunpeng 920 内存512 GB 磁盘普通SSDfio bs16k w250MB/s 布局 1、每台主机4块数据SSD共同加到一个tiflash中 2、24*TiDB3*PD24Tikv6Tiflash每个server端单独绑一个node一个node 32CPU 二、参数设置 tiup cluster edit-config t1 tiflash    profiles.default.max_memory_usage 10000000000000   set global tidb_allow_mpp1; set tidb_isolation_read_enginestiflash; set tidb_mem_quota_query 10 30;   因为tidb_isolation_read_engines只能session级别通过mysql客户端登陆调用本地脚本方式执行 mysql -h127.0.0.1 -uroot -P4000 -D tpch ! \\. 1.sql ! 执行多次直到sql执行时间趋于稳定 三、测试结果 官方数据    华为云3副本Tiflash    华为云3副本tikvtiflash    普通SSD 6副本tikvtiflash Q1    8.08    6.6        1.68 Q2    2.53    2.48        3.09 Q3    4.84    4.649        15.76 Q4    10.94    5.589    19.1    8.27 Q5    12.27    11.02        6.97 Q6    1.32    1        0.55 Q7    5.91    4.0666        7.59 Q8    6.71    7.1        14.91 Q9    44.19    30.334        12.87 Q10    7.13    4.4        41.04 Q11    2.18    1.771        3.03 Q12    2.88    2.885        2.47 Q13    6.84    4.9        72.62 Q14    1.69    1.5        1.51 Q15    3.29    2.5-2.7    2.5-2.9    13.75 Q16    5.04    1.1        2.07 Q17    11.7    7.9        24.89 Q18    12.87    11.1        14.17 Q19    4.75    3.05        1.38 Q20    8.89    2.4        24.62 Q21    24.44    12.4        15.47 Q22    1.23    1.167        1.4 四、结果说明及一些猜想 Q4 select     o_orderpriority,count(*) as order_count from     orders where     o_orderdate 1995-01-01     and o_orderdate date_add(1995-01-01, interval 3 month)     and exists (         select * from lineitem         where        l_orderkey o_orderkey        and l_commitdate l_receiptdate     ) group by o_orderpriority order by o_orderpriority; tiflash5.589s tikvtiflashtidb默认配置19.1s explain analyze执行计划默认配置下表lineitem走了cache Selection_24(Probe)          | 3.98         | 14185840  | cop[tikv]    |                                             |time:5m56.6s, **loops:16883**,  cop_task: {num: 3827, max: 697.5ms, min: 585.8µs, avg: 133ms, p95: 340ms, max_proc_keys: 17867, p95_proc_keys: 15901, tot_proc: 7m13.6s, tot_wait: 1m6.1s, rpc_num: 3827, rpc_time: 8m29s, copr_cache_hit_ratio: 0.24}, tikv_task:{proc max:530ms, min:0s, p80:180ms, p95:280ms, iters:39261, tasks:3827}, scan_detail: {total_process_keys: 21217578, total_process_keys_size: 4216268171, total_keys: 25622316, rocksdb: {delete_skipped_count: 0, key_skipped_count: 20513898,  block: {**cache_hit_count: 32099284, read_count: 1750183, read_byte: 29.1 GB**}}}    | lt(tpch.lineitem.l_commitdate, tpch.lineitem.l_receiptdate)   在强制tiflash下优化器重组了sql两张表直接做hashjoin HashJoin_42 | 4471364.76 | batchCop[tiflash] || semi join, equal:[eq(tpch.orders.o_orderkey, tpch.lineitem.l_orderkey)] 一些猜想 1、TiDB优化器中cache hit权重更高 2、TiDB优化器之后是否会像Oracle加入硬件性能参数计算代价参考aux_stats$ Q9 tiflash和tikvtiflash差距不大表supplier在tikv中走的点查非常快 耗时上默认配置总时间更短 其他 AP还是看存储多盘在某些场景下貌似不能弥补性能上的差距 ———————————————— 版权声明本文为博主原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接和本声明。                          原文链接https://blog.csdn.net/xyq172291/article/details/122281719
http://www.w-s-a.com/news/2973943/

相关文章:

  • 国外学校网站设计东莞h5网站建设
  • 新媒体代运营关键词智能优化排名
  • 龙岗公司做网站免费注册企业邮箱域名
  • 设计网站公司有哪些网站备案时间就是正式上线时间吗
  • 做详情页比较好的网站网站建设与开发是什么岗位
  • wordpress手机站如何做从哪些方面评价一个企业的网站建设
  • 建筑公司网站需求京蓝科技(000711) 股吧
  • 网站的建设是什么龙岗做网站哪里找
  • 织梦网站怎么上传视频做平面设计兼职的网站
  • 成都市建设相关网站电子商务网站开发技术有哪些
  • 做自己的网站需要会编程吗效益型网站
  • 上海网站设计开发公网站seo外包公司有哪些
  • 北京专业网站营销wordpress服务器软件
  • 多语言网站开发宁波静态网站建设
  • 找什么样的公司帮助做网站建设银行的网站用户名
  • 企业站seo定制开发生产管理软件推荐
  • 禅城网站设计深圳东门属于哪个区
  • 网站流量分析系统seo网站点击量排名优化
  • 品牌形象网站建设seo优化课程
  • 青岛网站建设 上流衡阳新闻头条最新消息
  • 一个人做商城网站购买网站空间自己怎样建立网站
  • 长沙企业网站建设品牌WordPress.AMP
  • 公众号做成网站那样怎么做注册安全工程师报名时间
  • 企业网站整合无锡 网站 seo 优化
  • 兼职做设计什么网站好做外贸通常用哪些网站
  • 网站建设的基本技术步骤手表排行榜
  • 医院网站必须建设吗长沙网站建设接单
  • 网站空间怎样设置用户名和密码12306网站做的好还是百度做的好
  • 网站开发哪些专业微网站建设公司首选公司
  • 百度网站权重排行做折线图网站