查询处理器的性能分析_第1页
查询处理器的性能分析_第2页
查询处理器的性能分析_第3页
查询处理器的性能分析_第4页
查询处理器的性能分析_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

20/23查询处理器的性能分析第一部分查询处理性能指标 2第二部分查询优化算法 4第三部分查询代价模型 6第四部分索引结构与选择性 10第五部分优化器统计信息 12第六部分查询并行处理 14第七部分缓存管理策略 17第八部分资源分配和调度 20

第一部分查询处理性能指标关键词关键要点【查询处理性能指标】:

1.查询处理时间:衡量查询处理器的效率,通常使用查询处理时间作为基本性能指标。查询处理时间是指从查询提交到查询结果返回的时间,它包括查询解析、优化、执行和结果返回等阶段的时间。

2.查询吞吐量:衡量查询处理器处理查询的能力,通常使用查询吞吐量作为基本性能指标。查询吞吐量是指单位时间内查询处理器的吞吐量,通常以每秒处理的查询数(QPS)或每秒处理的数据量(TPS)来衡量。

3.并发性:衡量查询处理器同时处理多个查询的能力,通常使用并发性作为基本性能指标。并发性是指查询处理器同时处理的查询数,通常以同时处理的查询数或同时处理的数据量来衡量。

【查询优化性能指标】:

#查询处理器的性能分析

查询处理性能指标

#1.查询响应时间

查询响应时间是指从查询被提交到结果返回的时间。它反映了查询处理器的速度和效率。查询响应时间越短,表明查询处理器性能越好。

#2.查询吞吐量

查询吞吐量是指单位时间内查询处理器可以处理的查询数量。它反映了查询处理器的容量和并发处理能力。查询吞吐量越高,表明查询处理器性能越好。

#3.并发查询数

并发查询数是指查询处理器可以同时处理的查询数量。它反映了查询处理器的并发处理能力。并发查询数越高,表明查询处理器性能越好。

#4.内存利用率

内存利用率是指查询处理器使用的内存量与总内存量的比率。它反映了查询处理器的内存利用效率。内存利用率越高,表明查询处理器性能越好。

#5.CPU利用率

CPU利用率是指查询处理器使用的CPU时间与总CPU时间的比率。它反映了查询处理器的CPU利用效率。CPU利用率越高,表明查询处理器性能越好。

#6.磁盘IO吞吐量

磁盘IO吞吐量是指查询处理器从磁盘读写数据的速度。它反映了查询处理器的磁盘IO性能。磁盘IO吞吐量越高,表明查询处理器性能越好。

#7.网络带宽利用率

网络带宽利用率是指查询处理器使用的网络带宽与总网络带宽的比率。它反映了查询处理器的网络带宽利用效率。网络带宽利用率越高,表明查询处理器性能越好。

#8.查询执行计划质量

查询执行计划质量是指查询处理器选择的查询执行计划的优劣程度。好的查询执行计划可以减少查询的执行时间,提高查询处理器性能。

#9.查询优化器质量

查询优化器质量是指查询处理器优化查询的能力。好的查询优化器可以生成高效的查询执行计划,提高查询处理器性能。

#10.索引利用率

索引利用率是指查询处理器使用索引的程度。索引可以加快查询的执行速度,提高查询处理器性能。索引利用率越高,表明查询处理器性能越好。

#11.缓存命中率

缓存命中率是指查询处理器从缓存中获取数据的成功率。缓存可以存储查询结果和其他常用数据,减少磁盘IO操作,提高查询处理器性能。缓存命中率越高,表明查询处理器性能越好。

#12.查询成本

查询成本是指查询处理器执行查询所消耗的资源,包括CPU时间、内存、磁盘IO和网络带宽。查询成本越低,表明查询处理器性能越好。第二部分查询优化算法关键词关键要点【查询优化算法】:

1.查询优化器(QO)是数据库管理系统(DBMS)中的一个组件,负责将查询语句转换为更有效的执行计划。

2.查询优化器的主要目标是减少查询执行时间,同时保证查询结果的正确性。

3.查询优化器通常采用启发式算法来寻找最优执行计划,因为查询优化是一个NP完全问题,难以找到最优解。

【基于代价的优化】:

查询优化算法

查询优化算法是指通过对查询语句进行分析、改写和优化,使得查询能够以更快的速度执行。查询优化算法是查询处理器的核心组成部分,它的性能直接影响到数据库系统的整体性能。

查询优化算法通常分为以下几个步骤:

1.查询解析:将查询语句解析成内部表示形式,以便后续处理。

2.成本估算:估计不同查询计划的执行成本。

3.查询改写:将查询语句改写成更优化的形式。

4.查询计划生成:根据成本估算结果和查询改写结果,生成最优的查询计划。

5.查询执行:根据查询计划执行查询。

查询优化算法有很多不同的类型,每种算法都有其各自的优缺点。常用的查询优化算法包括:

1.贪心算法:贪心算法是一种简单而有效的查询优化算法,它总是选择当前最优的局部解,而不考虑全局最优解。贪心算法的时间复杂度通常较低,但它可能得不到最优的查询计划。

2.动态规划算法:动态规划算法是一种更复杂的查询优化算法,它通过构建一张状态转移表来记录所有可能的子问题的最优解,然后通过回溯的方式求得全局最优解。动态规划算法的时间复杂度通常较高,但它能得到最优的查询计划。

3.启发式算法:启发式算法是一种基于经验和直觉的查询优化算法,它通过使用一些启发式规则来指导查询优化过程。启发式算法的时间复杂度通常较低,但它可能得不到最优的查询计划。

查询优化算法的性能分析

查询优化算法的性能主要由以下几个因素决定:

1.查询复杂度:查询复杂度是指查询语句中涉及的关系数、连接条件和聚合函数的数量。查询复杂度越高,查询优化算法需要考虑的优化空间就越大,查询优化算法的执行时间也就越长。

2.数据分布:数据分布是指数据在数据库中的分布情况。数据分布不均匀会降低查询优化算法的性能。

3.索引:索引可以加速查询的执行速度。索引越完备,查询优化算法就越容易找到最优的查询计划。

4.查询优化算法的实现:查询优化算法的实现质量也会影响查询优化算法的性能。一个好的查询优化算法实现可以减少查询优化算法的执行时间,提高查询优化算法的优化质量。

为了提高查询优化算法的性能,可以采取以下措施:

1.使用简单查询语句:简单的查询语句更容易被查询优化算法优化。

2.创建索引:索引可以加速查询的执行速度,提高查询优化算法的性能。

3.选择合适的查询优化算法:不同的查询优化算法适用于不同的查询。选择合适的查询优化算法可以提高查询优化算法的性能。

4.优化查询优化算法的实现:优化查询优化算法的实现可以减少查询优化算法的执行时间,提高查询优化算法的优化质量。第三部分查询代价模型关键词关键要点统计信息和直方图

1.统计信息和直方图是查询代价模型的重要组成部分,用于估计查询的执行时间。

2.统计信息包括表大小、列基数、数据分布等。

3.直方图用于估计查询中谓词的选择性。

代价模型类型

1.查询代价模型有基于规则的代价模型和基于成本的代价模型两种类型。

2.基于规则的代价模型使用一组预定义的规则来估计查询的执行时间。

3.基于成本的代价模型使用查询的执行计划来估计查询的执行时间。

自适应代价模型

1.自适应代价模型能够根据查询的实际执行情况来调整代价模型的参数。

2.自适应代价模型可以提高查询代价模型的准确性。

3.自适应代价模型可以减少查询代价模型的维护工作量。

并行代价模型

1.并行代价模型用于估计并行查询的执行时间。

2.并行代价模型需要考虑查询的并行度、数据分布等因素。

3.并行代价模型可以帮助查询优化器选择最佳的并行执行计划。

机器学习在代价模型中的应用

1.机器学习可以用于构建更准确的查询代价模型。

2.机器学习可以用于对查询代价模型的参数进行自动调整。

3.机器学习可以用于构建自适应查询代价模型。

代价模型的局限性

1.查询代价模型只是一个估计,其准确性受到统计信息、直方图等因素的影响。

2.查询代价模型不考虑系统资源的使用情况,如CPU、内存等。

3.查询代价模型不考虑查询交互的情况,如用户反馈等。#查询代价模型

概述

查询代价模型是用来评估查询性能的一种工具,它可以帮助优化器选择最优执行计划。代价模型的工作原理是,为每个可能的执行计划分配一个代价,然后选择具有最低代价的计划。

代价模型的组成部分

查询代价模型通常由以下几个部分组成:

*计算代价:这是计算查询结果所需的代价,它通常与查询中涉及的表和列的数量成正比。

*I/O代价:这是从磁盘读取或写入数据的代价,它通常与查询中涉及的数据量成正比。

*通信代价:这是在分布式数据库中,在不同的节点之间传输数据的代价,它通常与查询中涉及的数据量和节点之间的距离成正比。

*其他代价:这包括排序、聚合、连接等操作的代价,这些代价通常与查询中涉及的数据量和操作的复杂性成正比。

代价模型的类型

查询代价模型有很多种不同的类型,每种类型都有自己的优缺点。最常用的代价模型包括:

*基于规则的代价模型:这种代价模型使用一组预定义的规则来计算查询代价。这些规则通常是根据经验或直觉制定的,因此可能不总是准确。

*基于统计信息的代价模型:这种代价模型使用统计信息来计算查询代价。这些统计信息通常是从数据库中收集的,因此可以更准确地反映查询的实际性能。

*基于机器学习的代价模型:这种代价模型使用机器学习算法来计算查询代价。这些算法可以从历史数据中学习,并随着时间的推移而变得更加准确。

代价模型的应用

查询代价模型可以用于以下几个方面:

*查询优化:优化器可以使用代价模型来选择最优执行计划。

*查询重写:重写器可以使用代价模型来重写查询,使其更有效率。

*查询计划缓存:计划缓存可以使用代价模型来存储查询计划,以便以后重用。

*查询诊断:诊断器可以使用代价模型来诊断查询性能问题。

代价模型的挑战

查询代价模型面临着以下几个挑战:

*准确性:代价模型的准确性取决于统计信息的准确性。如果统计信息不准确,那么代价模型的准确性也会受到影响。

*复杂性:代价模型可以非常复杂,特别是对于复杂的查询。这使得优化器很难选择最优执行计划。

*可扩展性:代价模型需要能够处理大量的数据和查询。这使得代价模型很难在大型数据库系统中使用。

结论

查询代价模型是用来评估查询性能的一种工具,它可以帮助优化器选择最优执行计划。代价模型有很多种不同的类型,每种类型都有自己的优缺点。查询代价模型可以用于查询优化、查询重写、查询计划缓存和查询诊断等几个方面。查询代价模型面临着准确性、复杂性和可扩展性等几个挑战。第四部分索引结构与选择性关键词关键要点【索引结构】:

1.B+树:B+树是一种平衡搜索树,常用于数据库和文件系统中。它具有较高的查询效率,能够快速定位数据记录。

2.哈希索引:哈希索引是一种基于哈希函数的索引结构。它将数据记录的关键字映射到一个哈希值,然后根据哈希值快速查找数据记录。

3.位图索引:位图索引是一种适用于大量二进制数据(如布尔值、枚举值等)的索引结构。它使用位数组来表示数据记录的存在与否,查询时通过直接访问位数组来快速定位数据记录。

【选择性】:

索引结构与选择性

索引是数据库中常用的数据结构,用于快速查找特定数据。索引结构的选择对查询处理器的性能有很大影响。

1.索引结构类型

常用的索引结构有:

*B-树索引:B-树是一种平衡树,支持快速查找、插入和删除操作。B-树索引通常用于大规模数据。

*哈希索引:哈希索引是一种基于哈希函数的索引结构,支持快速查找操作。哈希索引通常用于小规模数据。

*位图索引:位图索引是一种基于位图的索引结构,支持快速查找包含特定值的记录。位图索引通常用于查询布尔类型或枚举类型的数据。

2.索引选择性

索引的选择性是指索引区分不同记录的有效性。索引选择性越高,索引区分不同记录的能力越强,查询处理器的性能越好。

索引选择性可以通过以下公式计算:

```

选择性=索引区分的记录数/表中总记录数

```

索引选择性通常在0到1之间。索引选择性为0表示索引无法区分任何记录,索引选择性为1表示索引可以区分所有记录。

3.索引结构与查询处理器的性能

索引结构的选择对查询处理器的性能有很大影响。索引选择性越高,索引结构越好,查询处理器的性能越好。

例如,对于一个包含100万条记录的表,如果使用B-树索引,索引选择性为0.1,那么B-树索引可以将查询时间从100秒降低到10秒。

4.索引结构的选择

索引结构的选择取决于以下因素:

*数据类型:不同数据类型支持不同的索引结构。例如,B-树索引支持整型、浮点型、字符串等数据类型,而哈希索引只支持整型和字符串数据类型。

*数据量:数据量的大小也影响索引结构的选择。对于小规模数据,可以使用哈希索引,而对于大规模数据,可以使用B-树索引。

*查询类型:查询类型也会影响索引结构的选择。对于等值查询,可以使用B-树索引或哈希索引,而对于范围查询,只能使用B-树索引。

5.索引的维护

索引需要定期维护,以确保索引的有效性和性能。索引的维护包括以下步骤:

*索引重建:索引重建可以修复损坏的索引,并提高索引的性能。

*索引优化:索引优化可以调整索引的结构,以提高索引的性能。

*索引删除:当索引不再需要时,可以删除索引,以减少数据库的存储空间。

总结

索引结构与选择性是查询处理器的两个重要因素。索引结构的选择对查询处理器的性能有很大影响。索引选择性越高,索引结构越好,查询处理器的性能越好。第五部分优化器统计信息关键词关键要点【统计信息的计算方法】:

1.统计信息计算方法包括收集数据、清理数据、计算统计信息三个步骤。

2.收集数据包括从查询、执行计划、执行结果等来源收集数据。

3.清理数据包括去重、异常值检测和处理、数据类型转换等。

4.计算统计信息包括计算基数、均值、方差、相关性等统计量。

【统计信息的类型】:

优化器统计信息

优化器统计信息是指数据库优化器用于估计查询执行成本的数据和元数据。这些信息对于优化器选择最佳执行计划至关重要,特别是对于复杂查询或大型数据集。

优化器统计信息通常包括以下内容:

*表基数:表中记录的数量或近似值。

*列基数:表中每列的唯一值数量或近似值。

*索引基数:索引中键值的数量或近似值。

*数据分布:表和列中数据的分布情况,例如均匀分布、正态分布或倾斜分布。

*相关性:表和列之间的相关性,即当一个表或列中的值发生变化时,另一个表或列中的值也发生变化的程度。

优化器利用这些统计信息来估计查询执行成本,包括:

*表扫描成本:完整扫描表所需的时间和资源。

*索引扫描成本:使用索引扫描表所需的时间和资源。

*连接成本:连接两个或多个表所需的时间和资源。

*聚合成本:对表中的数据进行聚合计算所需的时间和资源。

基于这些成本估计,优化器选择最优的执行计划,即在给定约束下具有最低执行成本的计划。优化器统计信息的准确性对于优化器选择最佳执行计划至关重要。不准确的统计信息可能会导致优化器选择执行成本更高的计划,从而降低查询性能。

因此,定期收集和维护优化器统计信息非常重要。优化器统计信息可以通过以下方式收集:

*手动收集:DBA可以手动收集优化器统计信息,例如通过使用ANALYZE命令或其他工具。

*自动收集:数据库系统可以自动收集优化器统计信息,例如通过使用统计信息收集器。

优化器统计信息的维护也很重要。随着数据和表结构的变化,优化器统计信息可能会变得不准确。因此,DBA需要定期更新优化器统计信息,以确保其准确性。

优化器统计信息对于优化器选择最佳执行计划非常重要。准确的优化器统计信息可以帮助优化器选择执行成本更低、性能更高的执行计划,从而提高查询性能。第六部分查询并行处理关键词关键要点【查询并行处理】:

1.查询并行处理是一种通过将查询任务分解为多个子任务,然后在多个处理单元上并发执行这些子任务来提高查询性能的技术。

2.查询并行处理可以提高查询性能的原因有:

-可以利用多个处理单元的计算能力来处理查询任务。

-可以减少查询任务之间的等待时间。

-可以提高查询任务的吞吐量。

3.查询并行处理的实现方式有多种,常见的实现方式包括:

-基于共享内存的查询并行处理。

-基于消息传递的查询并行处理。

-基于混合架构的查询并行处理。

【查询并行处理的挑战】:

查询并行处理

查询并行处理是一种将查询分解成多个子查询,然后并行执行这些子查询的技术。这可以极大地提高查询性能,特别是对于大型数据集或复杂查询。

查询并行处理可以分为两种主要类型:

*数据并行:在这种并行处理中,数据集被划分为多个子集,每个子集由不同的处理器负责处理。这对于具有大数据集的查询非常有效,因为每个处理器只需要处理数据集的一部分。

*查询并行:在这种并行处理中,查询被分解成多个子查询,每个子查询由不同的处理器负责执行。这对于具有复杂查询的查询非常有效,因为每个处理器只需要执行查询的一部分。

查询并行处理可以带来许多好处,包括:

*提高查询性能:查询并行处理可以极大地提高查询性能,特别是对于大型数据集或复杂查询。

*提高查询并发性:查询并行处理可以提高查询并发性,因为多个查询可以同时并行执行。

*提高资源利用率:查询并行处理可以提高资源利用率,因为多个处理器可以同时处理查询。

查询并行处理也有一些挑战,包括:

*查询分解:查询分解是查询并行处理的关键步骤,但它也是一个非常具有挑战性的步骤。查询分解算法需要能够将查询分解成多个子查询,而这些子查询可以独立执行。

*子查询执行:子查询执行是查询并行处理的另一个关键步骤,但它也是一个非常具有挑战性的步骤。子查询执行引擎需要能够同时执行多个子查询,并且需要能够处理子查询之间的依赖关系。

*结果合并:结果合并是查询并行处理的最后一个关键步骤,但它也是一个非常具有挑战性的步骤。结果合并算法需要能够将子查询的结果合并成一个最终结果。

#查询并行处理的实现

查询并行处理有多种实现方式,最常见的实现方式包括:

*共享内存并行处理:在这种并行处理方式中,多个处理器共享同一个内存空间。这使得子查询之间的数据交换非常方便,但它也对内存提出了很高的要求。

*分布式内存并行处理:在这种并行处理方式中,多个处理器各自拥有自己的内存空间。这使得子查询之间的数据交换更加困难,但它对内存的要求也更低。

*混合并行处理:这种并行处理方式结合了共享内存并行处理和分布式内存并行处理的优点。它允许多个处理器共享同一个内存空间,但它也允许多个处理器各自拥有自己的内存空间。这使得子查询之间的数据交换既方便又高效。

#查询并行处理的应用

查询并行处理在许多领域都有应用,包括:

*数据仓库:数据仓库通常包含大量的数据,因此查询并行处理可以极大地提高数据仓库的查询性能。

*联机事务处理(OLTP):联机事务处理系统通常需要处理大量的事务,因此查询并行处理可以极大地提高联机事务处理系统的性能。

*决策支持系统(DSS):决策支持系统通常需要处理复杂查询,因此查询并行处理可以极大地提高决策支持系统的性能。

#查询并行处理的未来

查询并行处理是一个快速发展的领域,随着硬件和软件技术的发展,查询并行处理技术也将不断发展。未来的查询并行处理技术可能会更加高效、更加智能,并且能够支持更多种类的查询。第七部分缓存管理策略关键词关键要点【缓存替换策略】:

1.最近最少使用(LRU):替换最长时间未被访问的缓存块。LRU策略简单有效,并且在许多情况下都能取得不错的性能。但是,LRU策略也可能存在一些问题,例如,当缓存中存在大量热点数据时,LRU策略可能会将热点数据替换出缓存,导致缓存命中率下降。

2.最不经常使用(LFU):替换使用频率最少的缓存块。LFU策略的基本思想是,使用频率越低的缓存块,被再次访问的可能性就越小,因此应该优先替换掉。LFU策略的优点是,它可以有效地避免热点数据被替换出缓存,从而提高缓存命中率。但是,LFU策略也存在一些问题,例如,LFU策略不能很好地处理冷数据,即那些使用频率很低但又不能被替换的数据。

3.二次机会(SecondChance):将每个缓存块的引用位清零,当缓存块被访问时,将引用位置为1。当需要替换缓存块时,选择引用位为0的缓存块进行替换。如果引用位为1,则将引用位清零,并将其移至队列的末尾。该算法的核心思想是,给每个缓存块一次机会,如果缓存块在第二次被访问之前被替换,则认为该缓存块不值得保留在缓存中。

【缓存分配策略】:

缓存管理策略

#引言

缓存是查询处理器的一个重要组成部分,它可以提高查询处理器的性能。缓存管理策略决定了缓存的使用方式,对查询处理器的性能有很大的影响。

#缓存管理策略的类型

1.LRU策略

LRU(最近最少使用)策略是一种常用的缓存管理策略。它将最近最少使用的缓存块替换出去。LRU策略可以很好地处理局部性原理,即最近使用的数据更有可能被再次使用。但是,LRU策略也存在一些问题。例如,它不能很好地处理循环数据,即数据被多次使用,但每次使用之间的时间间隔很长。

2.LFU策略

LFU(最近最常使用)策略是一种改进的缓存管理策略。它将最近最常使用的缓存块替换出去。LFU策略可以很好地处理循环数据,但它也存在一些问题。例如,它不能很好地处理冷启动问题,即缓存中没有数据时,查询处理器需要从磁盘加载数据。

3.CLOCK策略

CLOCK策略是一种改进的LRU策略。它使用一个指针来跟踪缓存中的数据。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。当指针指向一个缓存块时,如果该缓存块被使用,则指针向前移动。否则,指针原地不动。

#缓存管理策略的性能比较

1.LRU策略

LRU策略的性能在大多数情况下都很好。它可以很好地处理局部性原理,并且可以有效地防止缓存被冷数据占据。但是,LRU策略不能很好地处理循环数据和冷启动问题。

2.LFU策略

LFU策略的性能在处理循环数据和冷启动问题方面比LRU策略要好。但是,LFU策略不能很好地处理局部性原理,并且可能会导致缓存中的数据不一致。

3.CLOCK策略

CLOCK策略的性能在处理局部性原理和循环数据方面比LRU策略和LFU策略都要好。但是,CLOCK策略不能很好地处理冷启动问题。

#总结

缓存管理策略对查询处理器的性能有很大的影响。选择合适的缓存管理策略可以显著提高查询处理器的性能。第八部分资源分配和调度关键词关键要点【任务调度】:

1.任务调度是查询处理器中一个重要的组成部分,负责将查询任务分配给可用的资源,以优化查询执行性能。

2.任务调度算法有很多种,每种算法都有其优缺点。常见的任务调度算法包括轮询调度、短作业优先调度、优先级调度、时间片轮转调度等。

3.任务调度器的性能对于查询处理器整体性能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论