最常用的SQL语句的优化


(?。。。。先思考思考。。。)
方法1 ቤተ መጻሕፍቲ ባይዱ最低效)
SELECT EMP_NAME , SALARY , GRADE
FROM EMP
WHERE EMP_NO = 342;
SELECT EMP_NAME , SALARY , GRADE FROM EMP
WHERE EMP_NO = 291;
方法2 (次低效) DECLARE CURSOR C1 (E_NO NUMBER) IS SELECT EMP_NAME,SALARY,GRADE FROM EMP WHERE EMP_NO = E_NO; BEGIN OPEN C1(342); FETCH C1 INTO …,..,.. ; ….. OPEN C1(291); FETCH C1 INTO …,..,.. ; CLOSE C1; END;
4、减少访问数据库的次数
当执行每条SQL语句时, ORACLE在内部执行了许多工作: 解析SQL语句, 估算索引的利用率, 绑定变量 , 读数据块等等……. ……………………
由此可见:
减少访问数据库的次数 , 就能实际上减少ORACLE的工作量. 就能提高系统的性能。
例如,: 以下有三种方法可以检索出雇员号等于0342及0291 的职员的姓名、薪水和级别。 (来点难度,要求并列显示即一条记录!!)
例如: 表 TAB1 ---16,800 条记录 表 TAB2 ---1 条记录 选择TAB2作为基础表 (最好的方法) select count(a.nsrsbh) from tab1 a,tab2 b where a.id=b.id 执行时间0.96秒 选择TAB1作为基础表 (不佳的方法) select count(b.nsrsbh) from tab2 a,tab1 b where a.id=b.id 执行时间26.09秒
所以:
如果有3个以上的表连接查询, 那就需 要选择交叉表(intersection table)作为基础 表, 交叉表是指那个被其他表所引用的表. 但如果存在比交叉表记录少的多的表 A,建议把A表作为基础表,交叉表放在 倒数第二位。
2、WHERE子句中的连接顺序
ORACLE采用自下而上的顺序解析WHERE子句,根据 这个原理,所以: 表之间的连接必须写在其他WHERE条件之前 那些可以过滤掉最大数量记录的条件必须写 在WHERE子句的末尾.
WHERE MGR=E.EMPNO)
AND SAL > 50000 AND JOB = ‘MANAGER';
3、SELECT子句中避免使用 *
当你想在SELECT子句中列出所有的COLUMN时,使用动态 SQL列引用 ‘*’ 是一个方便的方法.
不幸的是,这是一个非常低效的方法. 实际上,ORACLE在解 析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通 过查询数据字典完成的, 这意味着将耗费更多的时间.
例如: (低效,执行时间156.3秒)
SELECT …
FROM EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER' AND 25 < (SELECT COUNT(id) FROM EMP
WHERE MGR=E.EMPNO);
(高效,执行时间10.6秒) SELECT … FROM EMP E WHERE 25 < (SELECT COUNT(ID) FROM EMP
方法3 (高效)
SELECT A.EMP_NAME , A.SALARY , A.GRADE,
B.EMP_NAME , B.SALARY , B.GRADE FROM EMP A,EMP B WHERE A.EMP_NO = 342 AND B.EMP_NO = 291;
抛砖引玉,先到这吧。
SQL的优化
现在我们以Oracle数据库为例,来讲述标 准SQL语句中最常用的语句的优化。 第一部分--SELECT语句
基本概念-基础表
SELECT语句中,FROM子句中写在最后的表,称为基 础表 (driving table)
解析器从基础表开始,按照从右到左的顺序处理 FROM子句中的表名
1、选择最有效率的表名顺序
在FROM子句中包含多个表的情况下,你必须选 择记录条数最少的表作为基础表.
当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先, 扫描基础表并对记录进行排序,然后扫描第二个表(FROM子句中最后第二 个表),最后将所有从第二个表中检索出的记录与第一个表中合适记录进 行合并.以此类推。
合集下载

sql server 语句优化题目

sql server 语句优化题目

题目:SQL Server 语句优化随着数据量的增加和数据库应用的复杂化,SQL Server 数据库在使用过程中可能会出现性能下降的情况,而对于性能下降的根本原因通常可以追溯到 SQL 语句的性能不佳。

对 SQL Server 数据库中的 SQL 语句进行优化显得尤为重要。

本文将从 SQL 语句的优化方法、常见优化技巧和注意事项等方面展开探讨。

一、SQL 语句优化的方法1. 了解执行计划在进行 SQL 语句优化时,首先需要了解 SQL 语句的执行计划。

执行计划是 SQL Server 生成的一份详细的指导书,用于指导 SQL Server 如何执行查询。

通过查看执行计划,可以清晰地了解 SQL 语句的执行过程,找到执行效率低下的地方并进行相应的优化。

2. 使用索引索引是提高 SQL 查询效率的重要手段之一。

在 SQL 查询过程中,如果涉及到大量的数据表,没有索引的情况下,数据库引擎将对整个数据表进行扫描,导致查询性能低下。

正确使用索引可以大大提高 SQL 查询的效率。

但是,过多的索引也可能会导致性能下降,因此需要根据实际情况进行合理的索引设计和使用。

3. 优化 SQL 语句在编写 SQL 语句时,应尽量避免使用 SELECT *,而是明确指定需要查询的字段,减少不必要的数据传输和计算。

尽量将复杂的逻辑操作放到数据库层面完成,减少数据传输和网络开销,提高查询效率。

二、常见的 SQL 语句优化技巧1. 避免在 WHERE 子句中使用函数在 SQL 查询中,如果在 WHERE 子句中使用了函数,数据库引擎会对每一条记录都进行函数的计算,导致查询性能低下。

应尽量避免在WHERE 子句中使用函数,可以通过其他方法来达到相同的查询效果。

2. 使用 UNION ALL 替代 UNION在 SQL 查询中,如果使用 UNION 进行多个查询结果的合并,数据库引擎会进行重复数据的去重操作,导致性能下降。

而使用 UNION ALL 则可以避免重复数据的去重操作,提高查询效率。

sqlsqerver语句优化方法

sqlsqerver语句优化方法

sqlsqerver语句优化方法SQL Server是一种关系型数据库管理系统,可以使用SQL语句对数据进行操作和管理。

优化SQL Server语句可以提高查询和操作数据的效率,使得系统更加高效稳定。

下面列举了10个优化SQL Server语句的方法:1. 使用索引:在查询频繁的列上创建索引,可以加快查询速度。

但是要注意不要过度索引,否则会影响插入和更新操作的性能。

2. 避免使用SELECT *:只选择需要的列,避免不必要的数据传输和处理,提高查询效率。

3. 使用JOIN替代子查询:在进行关联查询时,使用JOIN操作比子查询更高效。

尽量避免在WHERE子句中使用子查询。

4. 使用EXISTS替代IN:在查询中使用EXISTS操作比IN操作更高效。

因为EXISTS只需要找到一个匹配的行就停止了,而IN需要对所有的值进行匹配。

5. 使用UNION替代UNION ALL:如果对多个表进行合并查询时,如果不需要去重,则使用UNION ALL操作比UNION操作更高效。

6. 使用TRUNCATE TABLE替代DELETE:如果要删除表中的所有数据,使用TRUNCATE TABLE操作比DELETE操作更高效。

因为TRUNCATE TABLE不会像DELETE一样逐行删除,而是直接删除整个表的数据。

7. 使用分页查询:在需要分页显示查询结果时,使用OFFSET和FETCH NEXT操作代替传统的使用ROW_NUMBER进行分页查询。

这样可以减少查询的数据量,提高效率。

8. 避免使用CURSOR:使用游标(CURSOR)会增加数据库的负载,降低查询效率。

如果可能的话,应该尽量避免使用游标。

9. 使用参数化查询:使用参数化查询可以减少SQL注入的风险,同时也可以提高查询的效率。

因为参数化查询会对SQL语句进行预编译,可以复用执行计划。

10. 定期维护数据库:定期清理过期数据、重建索引、更新统计信息等维护操作可以提高数据库的性能。

让SQL语句更加高效-SQL优化34条

让SQL语句更加高效-SQL优化34条
SELECT … FROM DEPT WHERE SAL * 12 > 25000; 高效: SELECT … FROM DEPT WHERE SAL > 25000/12; (23) 用>=替代>
高效: SELECT * FROM EMP WHERE DEPTNO >=4 低效: SELECT * FROM EMP WHERE DEPTNO >3 两者的区别在于, 前者 DBMS 将直接跳到第一个 DEPT 等于 4 的记录而后者将首先定 位到 DEPTNO=3 的记录并且向前扫描到第一个 DEPT 大于 3 的记录. (24) 用 UNION 替换 OR (适用于索引列) 通常情况下, 用 UNION 替换 WHERE 子句中的 OR 将会起到较好的效果. 对索引列使 用 OR 将造成全表扫描. 注意, 以上规则只针对多个索引列有效. 如果有 column 没有 被索引, 查询效率可能会因为你没有选择 OR 而降低. 在下面的例子中, LOC_ID 和 REGION 上都建有索引. 高效: SELECT LOC_ID , LOC_DESC , REGION FROM LOCATION
SELECT EXECUTIONS , DISK_READS, BUFFER_GETS, ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio, ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,
SQL_TEXT FROM V$SQLAREA WHERE EXECUTIONS>0 AND BUFFER_GETS > 0 AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8 ORDER BY 4 DESC; (17) 用索引提高效率: 索引是表的一个概念部分,用来提高检索数据的效率,ORACLE 使用了一个复杂的自 平衡 B-tree 结构. 通常,通过索引查询数据比全表扫描要快. 当 ORACLE 找出执行查询 和 Update 语句的最佳路径时, ORACLE 优化器将使用索引. 同样在联结多个表时使用 索引也可以提高效率. 另一个使用索引的好处是,它提供了主键(primary key)的唯一 性验证.。那些 LONG 或 LONG RAW 数据类型, 你可以索引几乎所有的列. 通常, 在大 型表中使用索引特别有效. 当然,你也会发现, 在扫描小表时,使用索引同样能提高效 率. 虽然使用索引能得到查询效率的提高,但是我们也必须注意到它的代价. 索引需 要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时, 索引本 身也会被修改. 这意味着每条记录的 INSERT , DELETE , UPDATE 将为此多付出 4 , 5 次 的磁盘 I/O . 因为索引需要额外的存储空间和处理,那些不必要的索引反而会使查询 反应时间变慢.。定期的重构索引是有必要的.: ALTER INDEX <INDEXNAME> REBUILD <TABLESPACENAME>

SQL优化工具及使用技巧介绍

SQL优化工具及使用技巧介绍

SQL优化工具及使用技巧介绍SQL(Structured Query Language)是一种用于管理和操作关系型数据库的编程语言。

它可以让我们通过向数据库服务器发送命令来实现数据的增删改查等操作。

然而,随着业务的发展和数据量的增长,SQL查询的性能可能会受到影响。

为了提高SQL查询的效率,出现了许多SQL优化工具。

本文将介绍一些常见的SQL优化工具及其使用技巧。

一、数据库性能优化工具1. Explain PlanExplain Plan是Oracle数据库提供的一种SQL优化工具,它可以帮助分析和优化SQL语句的执行计划。

通过使用Explain Plan命令,我们可以查看SQL查询的执行计划,了解SQL语句是如何被执行的,从而找到性能瓶颈并进行优化。

2. SQL Server ProfilerSQL Server Profiler是微软SQL Server数据库管理系统的一种性能监视工具。

它可以捕获和分析SQL Server数据库中的各种事件和耗时操作,如查询语句和存储过程的执行情况等。

通过使用SQL Server Profiler,我们可以找到数据库的性能瓶颈,并进行相应的优化。

3. MySQL Performance SchemaMySQL Performance Schema是MySQL数据库提供的一种性能监视工具。

它可以捕获和分析MySQL数据库中的各种事件和操作,如查询语句的执行情况、锁的状态等。

通过使用MySQL Performance Schema,我们可以深入了解数据库的性能问题,并对其进行优化。

二、SQL优化技巧1. 使用索引索引是提高SQL查询性能的重要手段之一。

在数据库中创建合适的索引可以加快查询操作的速度。

通常,我们可以根据查询条件中经常使用的字段来创建索引。

同时,还应注意索引的维护和更新,避免过多或过少的索引对性能产生负面影响。

2. 避免全表扫描全表扫描是指对整个表进行扫描,如果表中数据量较大,查询性能会受到较大影响。

SQL语句编写与优化规范

SQL语句编写与优化规范

SQL语句编写与优化规范1.使用大小写:通常建议使用大写字母编写SQL关键字,而使用小写字母编写表名、列名等标识符,以提高可读性。

2.使用缩进和换行:为了增加SQL语句的可读性,建议使用缩进和换行来对代码进行格式化。

例如,每个关键字和每个表达式应该独占一行,并使用适当的缩进来标识层次关系。

3.使用注释:在SQL语句中使用适当的注释可以提高代码的可读性和可维护性。

注释应该解释SQL语句的意图、逻辑和关键细节。

4. 避免通配符查询:在SQL语句中应尽量避免使用通配符(如%),特别是在列的开头(如column_name%)。

这样的查询通常会导致全表扫描,影响性能。

5.使用索引:为常用查询创建索引可以提高查询性能。

对经常用于连接、过滤和排序的列创建索引可以大大减少查询的执行时间。

6.避免使用SELECT*:在查询语句中尽量避免使用SELECT*,而应该明确指定需要查询的列。

这样可以减少网络传输的数据量,并改善查询的执行性能。

7.使用合适的数据类型:在设计表结构时应该选择合适的数据类型来存储数据。

过大或过小的数据类型都会影响查询的性能,还可能导致数据丢失或溢出。

8.使用合适的连接方式:在连接多个表时,应该选择合适的连接方式。

内连接、外连接和交叉连接的选择应基于查询需求和表之间的关系。

9.避免嵌套查询:在SQL语句中尽量避免使用嵌套查询,特别是在大数据集上。

嵌套查询通常会导致性能问题,可以考虑使用连接(JOIN)来代替。

10.使用事务:在需要一致性和可靠性的操作中,应该使用事务来确保数据的完整性。

事务可以将多个操作作为一个逻辑单元,要么全部执行成功,要么全部回滚。

总结:SQL语句的编写与优化规范可以提高代码的可读性、可维护性和执行性能。

编写SQL语句时应注意使用大小写、缩进和换行,添加注释,避免通配符查询和嵌套查询,使用索引和合适的数据类型,选择合适的连接方式,以及使用事务确保数据的完整性。

复杂sql优化的方法及思路

复杂sql优化的方法及思路

复杂sql优化的方法及思路复杂SQL优化的方法及思路SQL是关系型数据库管理系统中最常用的语言,但是在处理复杂查询时,SQL语句往往会变得非常复杂和冗长,导致查询速度缓慢。

为了提高查询效率,我们需要进行SQL优化。

以下是一些复杂SQL优化的方法及思路。

1.索引优化索引是提高数据库查询效率的重要手段之一。

在设计表结构时,应该根据实际情况建立适当的索引。

在查询语句中使用索引可以大大减少数据扫描量,从而提高查询效率。

2.避免使用子查询子查询虽然方便了我们编写复杂的SQL语句,但是在执行过程中会增加额外的开销。

因此,在编写复杂SQL语句时应尽量避免使用子查询。

3.减少JOIN操作JOIN操作也是影响查询效率的一个重要因素。

在设计表结构时应尽量避免使用JOIN操作或者减少JOIN操作次数。

4.合理使用聚合函数聚合函数(如SUM、AVG等)可以对数据进行统计分析,在处理大量数据时非常有用。

但是,在使用聚合函数时要注意不要频繁调用,否则会降低查询效率。

5.使用EXPLAIN命令分析查询语句EXPLAIN命令可以分析查询语句的执行计划,从而找出影响查询效率的因素。

通过分析EXPLAIN结果,可以对SQL语句进行优化。

6.避免使用SELECT *SELECT *会查询所有列,包括不需要的列,增加了数据扫描量,降低了查询效率。

在编写SQL语句时应尽量避免使用SELECT *。

7.合理使用缓存缓存可以减少数据库访问次数,提高查询效率。

在设计系统架构时应考虑缓存的使用。

8.优化表结构表结构的设计也是影响SQL查询效率的一个重要因素。

在设计表结构时应尽量避免冗余数据和过多的列。

以上是一些复杂SQL优化的方法及思路。

通过合理运用这些方法和思路,可以大大提高SQL查询效率,为数据库管理系统提供更好的性能和稳定性。

oracle sql优化常用的15种方法

oracle sql优化常用的15种方法1. 使用合适的索引索引是提高查询性能的重要手段。

在设计表结构时,根据查询需求和数据特点合理地添加索引。

可以通过创建单列索引、复合索引或者位图索引等方式来优化SQL查询。

2. 确保SQL语句逻辑正确SQL语句的逻辑错误可能会导致低效查询。

因此,在编写SQL语句前,需要仔细分析查询条件,确保逻辑正确性。

3. 使用连接替代子查询在一些场景下,使用连接(JOIN)操作可以替代子查询,从而减少查询的复杂度。

连接操作能够将多个数据集合合并为一个结果集,避免多次查询和表的扫描操作。

4. 避免使用通配符查询通配符查询(如LIKE '%value%')在一些情况下可能导致全表扫描,性能低下。

尽量使用前缀匹配(LIKE 'value%')或者使用全文索引进行模糊查询。

5. 注意选择合适的数据类型选择合适的数据类型有助于提高SQL查询的效率。

对于整型数据,尽量使用小范围的数据类型,如TINYINT、SMALLINT等。

对于字符串数据,使用CHAR字段而不是VARCHAR,可以避免存储长度不一致带来的性能问题。

6. 优化查询计划查询计划是数据库在执行SQL查询时生成的执行计划。

通过使用EXPLAIN PLAN命令或者查询计划工具,可以分析查询计划,找出性能瓶颈所在,并对其进行优化。

7. 减少磁盘IO磁盘IO是影响查询性能的重要因素之一。

可以通过增加内存缓存区(如SGA)、使用高速磁盘(如SSD)、使用合适的文件系统(如ASM)等方式来减少磁盘IO。

8. 分区表对于大数据量的表,可以考虑使用分区表进行查询优化。

分区表可以将数据按照某个规则分散到不同的存储区域,从而减少查询范围和加速查询。

9. 批量操作尽量使用批量操作而不是逐条操作,可以减少数据库的事务处理开销,提高SQL执行效率。

可以使用INSERT INTO SELECT、UPDATE、DELETE等批量操作语句来实现。

sql语句优化面试题

sql语句优化面试题在数据库开发和优化领域,SQL语句优化是一个重要的话题。

随着数据量的增长,SQL查询性能的优化变得尤为重要。

本文将介绍一些常见的SQL语句优化面试题,并提供一些解析和最佳实践。

1. 什么是SQL语句优化?SQL语句优化是为了提高数据库查询性能而对SQL查询语句进行的一系列改进和调整的过程。

通过对SQL查询进行优化,可以减少数据库的负载,加快查询速度,提升应用程序的性能。

2. SQL语句优化的方法有哪些?- 索引优化:为表中的关键列创建索引,并确保索引被合理地使用。

- 查询重写:通过改变查询方式或者重写查询语句,使其更加高效。

- 视图优化:使用视图来优化复杂的查询,减少重复性的计算和读取操作。

- 表分区:根据数据特性和查询模式将表划分成多个分区,提高查询效率。

- 缓存优化:通过使用缓存技术,减少对数据库的访问次数,加快查询速度。

3. 请列举一些常见的SQL查询性能问题。

- 缺乏合适的索引导致全表扫描,查询速度慢。

- 过多的连接操作导致查询复杂度高。

- 子查询嵌套层次过多,增加查询开销。

- 数据库统计信息不准确,导致查询优化器做出错误的执行计划。

- 数据库设计模型不合理,导致查询需要多次关联多个表。

4. 如何通过索引优化来提高查询性能?- 确保重要的查询列都有索引,特别是在WHERE和JOIN子句中经常使用的列。

- 避免在索引列上进行函数、计算或者转换操作,这会导致索引失效。

- 确保索引的列的顺序和查询条件的顺序一致,可以减少索引树的搜索次数。

- 如果一次查询中需要访问的数据较少,可以使用覆盖索引来避免对表的访问。

5. 如何避免SQL注入攻击?- 使用参数化查询或者预编译语句,将用户输入的数据作为参数传递给SQL查询。

- 对输入进行严格的合法性验证,过滤掉潜在的恶意字符。

- 使用ORM框架或者存储过程等抽象层来处理SQL查询,减少直接操作数据库的风险。

6. 如何优化复杂查询?- 尽量避免使用嵌套查询,可以使用关联查询或者临时表来替代。

SQL优化的几种方法及总结

SQL优化的⼏种⽅法及总结优化⼤纲:通过explain 语句帮助选择更好的索引和写出更优化的查询语句。

SQL语句中的IN包含的值不应该过多。

当只需要⼀条数据的时候,使⽤limit 1。

如果限制条件中其他字段没有索引,尽量少⽤or。

尽量⽤union all代替union。

不使⽤ORDER BY RAND()。

区分in和exists、not in和not exists。

使⽤合理的分页⽅式以提⾼分页的效率。

查询的数据过⼤,可以考虑使⽤分段来进⾏查询。

避免在where⼦句中对字段进⾏null值判断。

避免在where⼦句中对字段进⾏表达式操作。

必要时可以使⽤force index来强制查询⾛某个索引。

注意查询范围,between、>、<等条件会造成后⾯的索引字段失效。

关于JOIN优化。

优化使⽤1、mysql explane ⽤法 explane显⽰了mysql如何使⽤索引来处理select语句以及连接表。

可以帮助更好的索引和写出更优化的查询语句。

EXPLAIN SELECT*FROM l_line WHERE `status` =1and create_at >'2019-04-11';explain字段列说明table:显⽰这⼀⾏的数据是关于哪张表的type:这是重要的列,显⽰连接使⽤了何种类型。

从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和allpossible_keys:显⽰可能应⽤在这张表中的索引。

如果为空,没有可能的索引。

可以为相关的域从where语句中选择⼀个合适的语句key:实际使⽤的索引。

如果为null,则没有使⽤索引。

很少的情况下,mysql会选择优化不⾜的索引。

这种情况下,可以在select语句中使⽤use index(indexname)来强制使⽤⼀个索引或者⽤ignore index(indexname)来强制mysql忽略索引key_len:使⽤的索引的长度。

13个SQL优化技巧

13个SQL优化技巧收藏1 避免无计划的全表扫描如下情况进行全表扫描:- 该表无索引- 对返回的行无人和限制条件(无Where子句)- 对于索引主列(索引的第一列)无限制条件- 对索引主列的条件含在表达式中- 对索引主列的限制条件是is (not) null或!=- 对索引主列的限制条件是like操作且值是一个bind variable或%打头的值2 只使用选择性索引索引的选择性是指索引列中不同值得数目和标志中记录数的比,选择性最好的是非空列的唯一索引为1.0。

复合索引中列的次序的问题:1 在限定条件里最频繁使用的列应该是主列2 最具有选择性的列(即最清晰的列)应该是主列如果1和2 不一致,可以考虑建立多个索引。

在复合索引和多个单个索引中作选择:考虑选择性考虑读取索引的次数考虑AND-EQUAL操作3 管理多表连接(Nested Loops, Merge Joins和Hash Joins)优化联接操作Merge Joins是集合操作Nested Loops和Hash Joins是记录操作返回第一批记录迅速Merge Joins的操作适用于批处理操作,巨大表和远程查询1全表扫描--〉2排序--〉3比较和合并性能开销主要在前两步适用全表扫描的情形,都适用Merge Joins操作(比Nested Loops有效)。

改善1的效率:优化I/O,提高使用ORACLE多块读的能力,使用并行查询的选项改善1的效率:提高Sort_Area_Size的值,使用Sort Direct Writes,为临时段提供专用表空间4 管理包含视图的SQL语句优化器执行包含视图的SQL语句有两种方法:- 先执行视图,完成全部的结果集,然后用其余的查询条件作过滤器执行查询- 将视图文本集成到查询里去含有group by子句的视图不能被集成到一个大的查询中去。

在视图中使用union,不阻止视图的SQL集成到查询的语法中去。

5 优化子查询6 使用复合Keys/Star查询7 恰当地索引Connect By操作8 限制对远程表的访问9 管理非常巨大的表的访问- 管理数据接近(proximity) 记录在表中的存放按对表的范围扫描中最长使用的列排序按次序存储数据有助于范围扫描,尤其是对大表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档