车床执行轴空心我能理解,但是圈起来的地方,不懂是什么结构?为什么要设计成这样?

对于不同的应用系统,表的pctfree 和pctused两个参数有不同的设计原则,以下是根据特定的应用系统进行估算的例子,从中可以掌握基本的估算方法。

Oracle的其中一个优点时它可以管理每个表空间中的自由空间。Oracle负责处理表和索引的空间管理,这样就可以让我们无需懂得Oracle的表和索引的
内部运作。不过,对于有经验的Oracle调优专家来说,他需要懂得Oracle是如何管理表的extent和空闲的数据块。对于调整拥有高的insert或者update的系
统来说,这是非常重要的。

要精通对象的调整,你需要懂得freelists和freelist组的行为,它们和pctfree及pctused参数的值有关。这些知识对于企业资源计划(ERP)的应用是
特别重要的,因为在这些应用中,不正确的表设置通常是DML语句执行慢的原因。
对于初学者来说,最常见的错误是认为默认的Oracle参数对于所有的对象都是最佳的。除非磁盘的消耗不是一个问题,否则在设置表的pctfree和pctused
参数时,就必须考虑平均的行长和数据库的块大小,这样空的块才会被有效地放到freelists中。当这些设置不正确时,那些得到的freelists也是"dead"块,
因为它们没有足够的空间来存储一行,这样将会导致明显的处理延迟。
Freelists对于有效地重新使用Oracle表空间中的空间是很重要的,它和pctfree及pctused这两个存储参数的设置直接相关。如果将pctused设置为一个高的值,
这时数据库就会尽快地重新使用块。不过,高性能和有效地重新使用表的块是对立的。在调整Oracle的表格和索引时,需要认真考虑究竟需要高性能还是有效的空
间重用,并且据此来设置表的参数。以下我们来看一下这些freelists是如何影响Oracle的性能的。

许多新手对于一个块重新回到freelists后的处理都有些误解。其实,一旦由于一个删除的操作而令块被重新加入到freelist中,它将会一直保留在freelist中
即使空间的使用超过了60%,只有在到达pctfree时才会将数据块由freelist中移走。

表格和索引存储参数设置的要求总结

有效地使用空间和高性能之间是有矛盾的,而表格的存储参数就是控制这个方面的矛盾:

. 对于需要有效地重新使用空间,可以设置一个高的pctused值,不过副作用是需要额外的I/O。一个高的pctused值意味着相对满的块都会放到freelist中。因
此,这些块在再次满之前只可以接受几行记录,从而导致更多的I/O。

. 追求高性能的话,可以将pctused设置为一个低的值,这意味着Oracle不会将数据块放到freelists中直到它几乎是空的。那么块将可以在满之前接收更多的行,
因此可以减少插入操作的I/O。要记住Oracle扩展新块的性能要比重新使用现有的块高。对于Oracle来说,扩展一个表比管理freelists消耗更少的资源。

让我们来回顾一下设置对象存储参数的一些常见规则:

.经常将pctused设置为可以接收一条新行。对于不能接受一行的free blocks对于我们来说是没有用的。如果这样做,将会令Oracle的性能变慢,因为Oracle将
在扩展表来得到一个空的块之前,企图读取5个"dead" 的free block。

.如果一个表有同时插入的SQL语句,那么它需要有同时删除的语句。运行单一个一个清除的工作将会把全部的空闲块放到一个freelist中,而没有其它包含有任何

.freelist参数应该设置为表格同时更新的最大值。例如,如果在任何时候,某个表最多有20个用户执行插入的操作,那么该表的参数应该设置为freelists=20。

4:本地管理表空间和字典管理表空间的特点,ASSM有什么特点
  8i以后出现的一种新的表空间的管理模式,通过位图来管理表空间的空间使用。
  8i以前包括以后都还可以使用的一种表空间管理模式,通过数据字典管理表空间的空间使用。
  它首次出现在Oracle920里有了ASSM,链接列表freelist被位图所取代,它是一个二进制的数组,
  能够迅速有效地管理存储扩展和剩余区块(free block),因此能够改善分段存储本质,

5:回滚段的作用是什么
事务回滚:当事务修改表中数据的时候,该数据修改前的值(即前影像)会存放在回滚段中,
  当用户回滚事务(ROLLBACK)时,ORACLE将会利用回滚段中的数据前影像来将修改的数据恢复到原来的值。

  事务恢复:当事务正在处理的时候,例程失败,回滚段的信息保存在undo表空间中,
  ORACLE将在下次打开数据库时利用回滚来恢复未提交的数据。

读一致性:当一个会话正在修改数据时,其他的会话将看不到该会话未提交的修改。
  当一个语句正在执行时,该语句将看不到从该语句开始执行后的未提交的修改(语句级读一致性)
  来保证任何前于当前SCN的未提交的改变不被该语句处理。可以想象:当一个长时间的查询正在执行时,
  若其他会话改变了该查询要查询的某个数据块,ORACLE将利用回滚段的数据前影像来构造一个读一致性视图。 
消耗在准备利用Oracle执行计划机制提高查询性能新的SQL语句的时间是Oracle SQL语句执行时间的最重要的组成部分。
但是通过理解Oracle内部产生执行计划的机制,你能够控制Oracle花费在评估连接顺序的时间数量,并且能在大体上提高查询性能。 
当SQL语句进入Oracle的库缓存后,在该语句准备执行之前,将执行下列步骤: 
1) 语法检查:检查SQL语句拼写是否正确和词序。

2) 语义分析:核实所有的与数据字典不一致的表和列的名字。

3) 轮廓存储检查:检查数据字典,以确定该SQL语句的轮廓是否已经存在。

4) 生成执行计划:使用基于成本的优化规则和数据字典中的统计表来决定最佳执行计划。

5) 建立二进制代码:基于执行计划,Oracle生成二进制执行代码。

一旦为执行准备好了SQL语句,以后的执行将很快发生,因为Oracle认可同一个SQL语句,并且重用那些语句的执行。然而,对于生成
特殊的SQL语句,或嵌入了文字变量的SQL语句的系统,SQL执行计划的生成时间就很重要了,并且前一个执行计划通常不能够被重用。
对那些连接了很多表的查询,Oracle需要花费大量的时间来检测连接这些表的适当顺序。

在SQL语句的准备过程中,花费最多的步骤是生成执行计划,特别是处理有多个表连接的查询。当Oracle评估表的连接顺序时,它必须
考虑到表之间所有可能的连接。例如:六个表的之间连接有720(6的阶乘,或6 * 5 * 4 * 3 * 2 * 1 = 720)种可能的连接线路。
当一个查询中含有超过10个表的连接时,排列的问题将变得更为显著。对于15个表之间的连接,需要评估的可能查询排列将超过1万亿

通过使用optimizer_search_limit参数,你能够指定被优化器用来评估的最大的连接组合数量。使用这个参数,我们将能够防止优化器
消耗不定数量的时间来评估所有可能的连接组合。如果在查询中表的数目小于optimizer_search_limit的值,优化器将检查所有可能的

使用ordered提示指定连接顺序

你能够设定优化器所执行的评估数目的上限。但是即使采用有很高价值的排列评估,我们仍然拥有使优化器可以尽早地放弃复杂的查询
的重要机会。回想一下含有15个连接查询的例子,它将有超过1万亿种的连接组合。如果优化器在评估了80,000个组合后停止,那么它才

在过去的十年中, Oracle 已经成为世界上最专业的数据库之一。对于 IT 专家来说,就是要确保利用 Oracle 的强大特性来提高他们公司的生产力。最有效的方法之一
是通过 Oracle 调优。它有大量的调整参数和技术来改进你的 Oracle 数据库的性能。 Oracle 调优是一个复杂的主题。关于调优可以写整整一本书,不过,为了改善 
在这篇简介中,我们将简要地介绍以下的 Oracle 主题: 
-- 外部调整:我们应该记住 Oracle 并不是单独运行的。因此我们将查看一下通过调整 Oracle 服务器以得到高的性能。 
--Oracle SQL 调整。 Oracle SQL 调整是 Oracle 调整中最重要的领域之一,只要通过一些简单的 SQL 调优规则就可以大幅度地提升 SQL 语句的性能,这是一点都
-- 调整 Oracle 的竞争:表和索引的参数设置对于 UPDATE 和 INSERT 的性能有很大的影响。

我们首先从调整 Oracle 外部的环境开始。如果内存和 CPU 的资源不足的话,任何的 Oracle 调整都是没有帮助的。

外部的性能问题 

Oracle 并不是单独运行的。 Oracle 数据库的性能和外部的环境有很大的关系。这些外部的条件包括有: 
.CPU--CPU 资源的不足令查询变慢。当查询超过了 Oracle 服务器的 CPU 性能时,你的数据库性能就受到 CPU 的限制。 
.内存 -- 可用于 Oralce 的内存数量也会影响 SQL 的性能,特别是在数据缓冲和内存排序方面。 
许多新手都错误的认为应该首先调整 Oracle 数据库,而不是先确认外部资源是否足够。实际上,如果外部环境出现瓶颈,再多的 Oracle 调整都是没有帮助的。 
在检查 Oracle 的外部环境时,有两个方面是需要注意的: 
1 、当运行队列的数目超过服务器的 CPU 数量时,服务器的性能就会受到 CPU 的限制。补救的方法是为服务器增加额外的 CPU 或者关闭需要很多处理资源的组件,
2 、内存分页。当内存分页时,内存容量已经不足,而内存页是与磁盘上的交换区进行交互的。补救的方法是增加更多的内存,减少 Oracle SGA 的大小,或者关闭 
可以使用各种标准的服务器工具来得到服务器的统计数据,例如 vmstat,glance,top 和 sar 。 DBA 的目标是确保数据库服务器拥有足够的 CPU 和内存资源来处理

就象我们上面提到的,有经验的 Oracle DBA 都知道 I/O 是响应时间的最大组成部分。其中磁盘 I/O 特别厉害,因为当 Oracle 由磁盘上的一个数据文件得到一个
数据块时,读的进程就必须等待物理 I/O 操作完成。磁盘操作要比数据缓冲慢 10,000 倍。因此,如果可以令 I/O 最小化,或者减少由于磁盘上的文件竞争而带来的瓶颈
,就可以大大地改善 Oracle 数据库的性能。如果系统响应很慢,通过减少磁盘 I/O 就可以有一个很快的改善。如果在一个事务中通过按一定的范围搜索 primary-key
 索引来访问表,那么重新以 CTAS 的方法组织表将是你减少 I/O 的首要策略。通过在物理上将行排序为和 primary-key 索引一样的顺序,就可以加快获得数据的速度。 
就象磁盘的负载平衡一样,行的重新排序也是很简单的,而且也很快。通过与其它的 DBA 管理技巧一起使用,就可以在高 I/O 的系统中大大地减少响应的时间。 在高容量
索引一样,这样就可以在索引驱动的表格查询中,减少物理 I/O 并且改善响应时间。这个技巧仅在应用选择多行的时候有用,或者在使用索引范围搜索和应用发出多个查询
来得到连续的 key 时有效。对于随机的唯一 primary-key (主键)的访问将不会由行重新排序中得到好处。 
让我们看一下它是如何工作的。考虑以下的一个 SQL 的查询,它使用一个索引来得到 100 行: 
这个查询将会使用 last_name_index ,搜索其中的每一行来得到目标行。这个查询将会至少使用 100 次物理磁盘的读取,因为 employee 的行存放在不同的数据块中。 
不过,如果表中的行已经重新排序为和 last_name_index 的一样,同样的查询又会怎样处理呢?我们可以看到这个查询只需要三次的磁盘 I/O 就读完全部 100 个
员工的资料(一次用作索引的读取,两次用作数据块的读取),减少了 97 次的块读取。 
  重新排序带来的性能改善的程度在于在你开始的时候行的乱序性如何,以及你需要由序列中访问多少行。至于一个表中的行与索引的排序键的匹配程度,可以查看数据
clustering_factor 的值接近表中的行数目,那就表明表格中的行和索引的顺序是不一样的。 
行重新排序的作用是不可以小看的。在需要进行大范围的索引搜索的大表中,行重新排序可以令查询的性能提高三倍。 
一旦你已经决定重新排序表中的行,你可以使用以下的工具之一来重新组织表格。 

Oracle 的 SQL 调优是一个复杂的主题,甚至是需要整本书来介绍 Oracle SQL 调优的细微差别。不过有一些基本的规则是每个 
Oracle DBA 都需要跟从的,这些规则可以改善他们系统的性能。 SQL 调优的目标是简单的: 
消除不必要的大表全表搜索:不必要的全表搜索导致大量不必要的 I/O ,从而拖慢整个数据库的性能。调优专家首先会根据查询
返回的行数目来评价 SQL 。在一个有序的表中,如果查询返回少于 40% 的行,或者在一个无序的表中,返回少于 7% 的行,那么这个
查询都可以调整为使用一个索引来代替全表搜索。对于不必要的全表搜索来说,最常见的调优方法是增加索引。可以在表中加入标准的
 B 树索引,也可以加入 bitmap 和基于函数的索引。要决定是否消除一个全表搜索,你可以仔细检查索引搜索的 I/O 开销和全表搜索
 的开销,它们的开销和数据块的读取和可能的并行执行有关,并将两者作对比。在一些情况下,一些不必要的全表搜索的消除可以通过
 强制使用一个index 来达到,只需要在 SQL 语句中加入一个索引的提示就可以了。 
在全表搜索是一个最快的访问方法时,将小表的全表搜索放到缓存中,调优专家应该确保有一个专门的数据缓冲用作行缓冲。在
  确保最优的索引使用 :对于改善查询的速度,这是特别重要的。有时 Oracle 可以选择多个索引来进行查询,调优专家必须检查
每个索引并且确保 Oracle 使用正确的索引。它还包括 bitmap 和基于函数的索引的使用。 
这些规则看来简单,不过它们占 SQL 调优任务的 90% ,并且它们也无需完全懂得 Oracle SQL 
的内部运作。以下我们来简单概览以下 Oracle SQL 的优化。 
将会自动执行排序的操作。通常,在以下的情况下 Oracle 会进行排序的操作: 
在创建索引的时候 
当与 Oracle 建立起一个 session 时,在内存中就会为该 session 分配一个私有的排序区域。如果该连接是一个专用的连接 
 选择小表作驱动表是关键的。
  --cbo中,则主要是根据表的统计信息来觉得访问路径,所以保持表的统计信息准确性就很有必要了。
  --ORACLE檢索順序有關--自底向上,所以小表放在最後面可以縮小檢索范圍,數據量大的放在最左邊(以FROM作參考)

。总忽略CBO和统计信息而基于规则

。基于成本,以最快的速度返回记录,会造成总体查询速度的下降或消耗更多的资源,倾向索引扫描,适合OLTP系统

。基于成本,确保总体查询时间最短,倾向并行全表扫描

。返回记录:未排序表 40%,排序表 7%,建议采用并行机制来提高访问速度,DDS;

。最常用的方法,包括索引唯一扫描和索引范围扫描,OLTP;

。访问索引中所有数据块,结果相当于全表扫描,可以用索引扫描代替全表扫描,例如:

。在索引中使用distinct子句

Oracle有两种执行优化器,一种是RBO(Rule Based Optimizer)基于规则的优化器,这种优化器是基于sql语句写法选择执行路径的;
另一种是CBO(Cost Based Optimizer)基于规则的优化器,这种优化器是Oracle根据统计分析信息来选择执行路径,如果表和索引
没有进行分析,Oracle将会使用RBO代替CBO;如果表和索引很久未分析,CBO也有可能选择错误执行路径,不过CBO是Oracle发展的

PCTFREE存储参数告诉ORACLE什么时候应该将数据块从对象的空闲列表中移出。ORACLE的默认参数是
PCTFREE=10;也就是说,一旦一个INSERT操作使得数据块的90%被使用,这个数据块就从空闲列表(free 
PCTUSED存储参数告诉ORACLE什么时候将以前满的数据块加到空闲列表中。当记录从数据表中删除时,
数据库的数据块就有空间接受新的记录,但只有当填充的空间降到PCTUSED值以下时,该数据块才被连接
到空闲列表中,才可以往其中插入数据。PCTUSED的默认值是PCTUSED=40。 
存储参数规则小结 
(1)PCTUSED较高意味着相对较满的数据块会被放置到空闲列表中,从而有效的重复使用数据块的空间,
但会导致I/O消耗。PCTUSED低意味着在一个数据块快空的时候才被放置到空闲列表中,数据块一次能接受很多
的记录,因此可以减少I/O消耗,提高性能。 
(2)PCTFREE的值较大意味着数据块没有被利用多少就从空闲列表中断开连接,不利于数据块的充分使用。
PCTFREE过小的结果是,在更新时可能会出现数据记录迁移(Migration)的情况。(注:数据记录迁移(Migration
)是指记录在是UPDATE操作扩展了一个VARCHAR2类型的列或BLOB列后,PCTFREE参数所指定的空间不够扩展,从而
记录被ORACLE强制迁移到新的数据块,发生这种情况将较严重的影响ORACLE的性能,出现更新缓慢)。 
(3)在批量的插入、删除或者更新操作之前,先删除该表上的索引,在操作完毕之后在重新建立,这样有
助于提高批量操作的整体速度,并且保证B树索引在操作之后有良好的性能。

再定位到第一个leaf block, 然后根据leaf block的双向链表顺序读取。它所读取的块都是有顺序的,也是经过排序的。
读取的顺序完全有物理存储位置决定,并采取多块读,没次读取db_file_multiblock_read_count个块。
索引是提高数据查询最有效的方法,也是最难全面掌握的技术,因为正确的索引可能使效率提高10000倍,而无效的索引
可能是浪费了数据库空间,甚至大大降低查询性能。

1、 存储索引的磁盘空间

3、 在数据处理时回需额外的回退空间。

一个表有字段A、B、C,同时进行插入10000行记录测试

在没有建索引时平均完成时间是 15/06/2007--

通过分析SQL语句的执行计划优化SQL (三) 

优化器有时也被称为查询优化器,这是因为查询是影响数据库性能最主要的部分,不要以为只有SELECT语句是查询。实际上,带有任何
WHERE条件的DML(INSERT、UPDATE、DELETE)语句中都包含查询要求,在后面的文章中,当说到查询时,不一定只是指SELECT语句,也有可能
指DML语句中的查询部分。优化器是所有关系数据库引擎中的最神秘、最富挑战性的部件之一,从性能的角度看也是最重要的部分,它性能的
高低直接关系到数据库性能的好坏。

我们知道,SQL语句同其它语言(如C语言)的语句不一样,它是非过程化(non-procedural)的语句,即当你要取数据时,不需要告诉数据
库通过何种途径去取数据,如到底是通过索引取数据,还是应该将表中的每行数据都取出来,然后再通过一一比较的方式取数据(即全表扫描),
这是由数据库的优化器决定的,这就是非过程化的含义,也就是说,如何取数据是由优化器决定,而不是应用开发者通过编程决定。在处理SQL
的SELECT、UPDATE、INSERT或DELETE语句时,Oracle 必须访问语句所涉及的数据,Oracle的优化器部分用来决定访问数据的有效路径,使得语
句执行所需的I/O和处理时间最小。

为了实现一个查询,内核必须为每个查询定制一个查询策略,或为取出符合条件的数据生成一个执行计划(execution plan)。典型的,对于
同一个查询,可能有几个执行计划都符合要求,都能得到符合条件的数据。例如,参与连接的表可以有多种不同的连接方法,这取决于连接条件
和优化器采用的连接方法。为了在多个执行计划中选择最优的执行计划,优化器必须使用一些实际的指标来衡量每个执行计划使用的资源(I/0次
数、CPU等),这些资源也就是我们所说的代价(cost)。如果一个执行计划使用的资源多,我们就说使用执行计划的代价大。以执行计划的代价大
小作为衡量标准,优化器选择代价最小的执行计划作为真正执行该查询的执行计划,并抛弃其它的执行计划。

在ORACLE的发展过程中,一共开发过2种类型的优化器:基于规则的优化器和基于代价的优化器。这2种优化器的不同之处关键在于:取得代
价的方法与衡量代价的大小不同。现对每种优化器做一下简单的介绍:

在ORACLE7之前,主要是使用基于规则的优化器。ORACLE在基于规则的优化器中采用启发式的方法(Heuristic Approach)或规则(Rules)来生
成执行计划。例如,如果一个查询的where条件(where clause)包含一个谓词(predicate,其实就是一个判断条件,如 = , , 等),而且
该谓词上引用的列上有有效索引,那么优化器将使用索引访问这个表,而不考虑其它因素,如表中数据的多少、表中数据的易变性、索引的可选
择性等。此时数据库中没有关于表与索引数据的统计性描述,如表中有多上行,每行的可选择性等。优化器也不考虑实例参数,如multi block 
i/o、可用排序内存的大小等,所以优化器有时就选择了次优化的计划作为真正的执行计划,导致系统性能不高。

deptno列上的索引来访问emp表。在绝大多数情况下,这是比较高效的,但是在一些特殊情况下,使用索引访问也有比较低效的时候,现举例说
1) emp表比较小,该表的数据只存放在几个数据块中。此时使用全表扫描比使用索引访问emp表反而要好。因为表比较小,极有可能数据全
在内存中,所以此时做全表扫描是最快的。而如果使用索引扫描,需要先从索引中找到符合条件记录的rowid,然后再一一根据这些rowid从emp
中将数据取出来,在这种条件下,效率就会比全表扫描的效率要差一些。

2) emp表比较大时,而且deptno = 10条件能查询出表中大部分的数据如(50%)。如该表共有4000万行数据,共放在有500000个数据块中,
每个数据块为8k,则该表共有约4G,则这么多的数据不可能全放在内存中,绝大多数需要放在硬盘上。此时如果该查询通过索引查询,则是你梦
2500次I/O。但是如果采用索引扫描,假设deptno列上的索引都已经cache到内存中,所以可以将访问索引的开销忽略不计。因为要读出4000万x 

为实现全表扫描,Oracle读取表中所有的行,并检查每一行是否满足语句的WHERE限制条件。Oracle顺序地读取分配给表的每个数据块,直
到读到表的最高水线处(high water mark, HWM,标识表的最后一个数据块)。一个多块读操作可以使一次I/O能读取多块数据块
(db_block_multiblock_read_count参数设定),而不是只读取一个数据块,这极大的减少了I/O总次数,提高了系统的吞吐量,所以利用多块读
的方法可以十分高效地实现全表扫描,而且只有在全表扫描的情况下才能使用多块读操作。在这种访问模式下,每个数据块只被读一次。由于
HWM标识最后一块被读入的数据,而delete操作不影响HWM值,所以一个表的所有数据被delete后,其全表扫描的时间不会有改善,一般我们需要

行的ROWID指出了该行所在的数据文件、数据块以及行在该块中的位置,所以通过ROWID来存取数据可以快速定位到目标数据上,是Oracle存取
单行数据的最快方法。为了通过ROWID存取表,Oracle 首先要获取被选择行的ROWID,或者从语句的WHERE子句中得到,或者通过表的一个或多个索
引的索引扫描得到。Oracle然后以得到的ROWID为依据定位每个被选择的行。

这种存取方法不会用到多块读操作,一次I/O只能读取一个数据块。我们会经常在执行计划中看到该存取方法,如通过索引查询数据。

我们先通过index查找到数据对应的rowid值(对于非唯一索引可能返回多个rowid值),然后根据rowid直接从表中得到具体的数据,这种查找方式
称为索引扫描或索引查找(index lookup)。一个rowid唯一的表示一行数据,该行对应的数据块是通过一次i/o得到的,在此情况下该次i/o只会读取

注意TABLE ACCESS BY ROWID EMP部分,这表明这不是通过FTS存取路径访问数据,而是通过rowid lookup存取路径访问数据的。在此例中,所需要
的rowid是由于在索引查找empno列的值得到的,这种方式是INDEX UNIQUE SCAN查找,后面给予介绍,EMP_I1为使用的进行索引查找的索引名字。

但是如果查询的数据能全在索引中找到,就可以避免进行第2步操作,避免了不必要的I/O,此时即使通过索引扫描取出的数据比较多,效率还是很
(cn),则不具有代表性。

进一步讲,如果sql语句中对索引列进行排序,因为索引已经预先排序好了,所以在执行计划中不需要再对索引列进行排序

从这个例子中可以看到:因为索引是已经排序了的,所以将按照索引的顺序查询出符合条件的行,因此避免了进一步排序操作。

使用一个索引存取多行数据,同上面一样,如果索引是组合索引,如(1)所示,
询,可此时的存取方法称为索引范围扫描。在唯一索引上使用索引范围扫描的典型情况下是在谓词(where限制条件)中使用了范围操作

在非唯一索引上,谓词col = 5可能返回多行数据,所以在非唯一索引上都使用索引范围扫描。 
(b) 在组合索引上,只使用部分列进行查询,导致查询出多行 
(c) 对非唯一索引列上进行的任何查询。

与全表扫描对应,也有相应的全索引扫描。在某些情况下,可能进行全索引扫描而不是范围扫描,需要注意的是全索引扫描只在
CBO模式下才有效。CBO根据统计数值得知进行全索引扫描比进行全表扫描更有效时,才进行全索引扫描,而且此时查询出的数据都必
须从索引中可以直接得到。 
全索引扫描的例子: 

Join是一种试图将两个表结合在一起的谓词,一次只能连接2个表,表连接也可以被称为表关联。在后面的叙述中,我们将会使用 row

的各个步骤经常是串行操作,即使相关的row source可以被并行访问,即可以并行的读取做join连接的两个row source的数据,但是在将表中

符合限制条件的数据读入到内存形成row source后,join的其它步骤一般是串行的。有多种方法可以将2个表连接起来,当然每种方法都有自己

的优缺点,每种连接类型只有在特定的条件下才会发挥出其最大优势。

row source(表)之间的连接顺序对于查询的效率有非常大的影响。通过首先存取特定的表,即将该表作为驱动表,这样可以先应用某些限

制条件,从而得到一个较小的row source,使连接的效率较高,这也就是我们常说的要先执行限制条件的原因。一般是在将表读入内存时,应

用where子句中对该表的限制条件。

使用全套hints的例子,ORDERED提示指出了连接的顺序,而且为不同的表指定了连接方法:

oracle最重要的9个动态性能视图!

按组分的几组重要的性能视图

}

本文是当天段永平的交流实录,虎嗅对相关内容进行了校正。题图来自视觉中国。

我们所有的成功,都来自于“本分+平常心”。

平常心,就是rational(理性),就是回到事物的本原,就是做对的事情,和把事情做对。Stop Doing List(不为清单),说的是做对的事情,但做对的事情,要落实在不做不对的事情上。

很多人经常做一些明知是错的事情,是因为抵挡不了短期利益的诱惑。举例,OPPO/vivo的Stop Doing List:没有销售部(因为不需要谈生意);不单独和客户谈价钱(所有客户一个价,省了双方非常多的时间和精力,10年20年加起来很恐怖啊);不代工(代工的产品没有大的差异化,很难有利润);没有有息贷款(永远不会倒在资金链断裂上。芒格说知道自己会在哪里死去就不去哪里,多数企业垮掉都是因为借了太多钱了。)

1. 对你来说什么东西是最重要的?为什么?

段永平:不同年龄答案是不同的。现在是家人、亲情、友情。这还需要说为什么吗?

2. 没有销售部,那你的价格决策机制是什么?

段永平:做市场调研,在上市的时候就尽可能定准价,错了及时调整。(电子产品)竞争的本质在于产品差异化,要做别人提供不了的东西。没有差异化,就成了日用基础商品,只能靠价格来竞争,很难挣钱。

3. 你有没有试图改变过性格和思维方式?

段永平:我觉得没有,性格很难改。中欧有个统计,世界500强的CEO中什么样的性格都有,而他们只有一个共性,就是integrity(诚实)。

4. 中国民营企业应该怎么应对贸易战的挑战?

段永平:最主要的是取决于企业本身,做的好,有没有贸易战都无所谓。很多做的不好的企业,会拿贸易战当遮羞布。好的企业,危机来的时候,反而是机会。我们不贷款, 有充裕的现金流,所以每一次危机来的时候都是机会。

5. 投资早期企业的逻辑是什么?

段永平:我不投早期,只投上市企业。投黄峥是因为个人原因,他是我朋友,我了解他、相信他。黄峥是我知道的少见的很有悟性的人,他关注事物本质。

6. 谈一谈营销方法论?

段永平:(外界)有个误解,以为我们很看重营销。其实对于我们来说,营销一点儿都不重要,最重要的还是产品。没有哪家公司的失败,是因为营销失败。公司失败,本质都是因为产品的失败。当然我不是说不要营销,事实上我们营销做得很好。营销,就是用最简单的语言,把你想传播的信息传播出去(给你的用户)。

我这里是要强调,营销不是本质,本质是产品。营销最重要的,就是不能瞎说。企业文化最重要。广告最多只能影响20%的人,剩下80%是靠这20%影响的。营销不好,顶多就是卖的慢一点,但是只要产品好,不论营销好坏,20年后结果都一样。

7. 中国品牌在新兴市场国家有哪些机遇?

段永平:这个我不太懂,但我不觉得会有太大差别,都是要关注用户的需求。平常心,就是回到事物的本原。

8. 巴菲特饭局上发生了什么?

段永平:我做公益,老巴(巴菲特)也做公益。我直接捐出去,和通过老巴捐出去是一样的,所以就拍下了巴菲特午餐,只当做公益了,还能向老巴学习。不一定要吃饭,看老巴在网上的视频、讲话、股东信,就可以了。老巴(说)的东西,逻辑上很顺,听起来像音乐一样享受。 

9. 现在手机(企业)有两种模式,一是小米这种先圈用户,再通过其他方式变现;二是苹果这样,靠产品本身赚钱。哪种好?

段永平:首先,圈客户的角度,苹果比小米厉害;其次,长远来看,没有什么企业是靠便宜赚钱的。性价比,都是给自己找借口。一定要把重心聚焦在用户上,也不是我们非要做高端还是低端,只是把自己能做的事情做好了,满足了一部分人群的需求。即使苹果,也没有满足所有人。

我们早年经常提性价比,直到我有一次跟一个中国通的日本人谈合作说到我们的产品性价比高时,对方很困惑地问道,什么是性价比,是“sex-price” ratio吗?我当时就愣了一下,觉得日本人的词典里似乎是没有性价比这个东西的,之后又花了很久才悟到,“性价比”实际上就是性能不够好的借口啊。我希望我们公司不会再在任何地方使用这个词了。 

10. 未来的投资/创业趋势?

段永平:这个问题对我来说有点儿难。我个人不太关心前沿的东西,我一般比较滞后,看懂了好的公司再投。前沿的东西,是苹果这类公司关注的,我做的是找到苹果这样的公司。 

11. 这么多手机公司,为什么苹果最成功?

段永平:苹果很难得,focus(聚焦)在自己做的事情上。苹果有利润之上的追求,就是做最好的产品。苹果文化的强度很强,有严格的“Stop Doing List”,一定要满足用户,一定做最好的产品。我们不和苹果比,因为1000个功能里面,有一些比苹果强,说明不了什么。就像CBA篮球打不过NBA,说我们会功夫,不是扯嘛。

段永平:我是anti-social的,社交很累,很费时间。泛泛的社交里朋友太少,看起来认识很多人,其实很难深入了解。有时间我更喜欢去打打球。我投资只是爱好,average(平均)能beat (打败)S&P。

 13. 为什么说“敢为天下后,后中争先”?

段永平:所有的高手都是敢为天下后的,只是做的比别人更好。我们公司成功不是偶然的, 坚持自己的“Stop Doing List”,筛合伙人,筛供货商,慢慢地就会攒下好圈子,长期来看很有价值。

敢为天下后,指的是产品类别,是因为你猜市场的需求往往很难,但是别人已经把需求明确了,你去满足这个需求,就更确定。(敢为天下后指的是产品类别,后中争先指的是做好产品的能力。或者说,敢为天下后指的是“做对的事情”,后中争先指的是“把事情做对”的能力。) 

14. 有没有过一些投资错误?

段永平:投资没犯过错误,投机犯过。(投资其实也犯过,但错误很小,当时可能没想起来。)投机百度的时候被short squeeze(夹空)了,亏了1亿~2亿美金。我学老巴:想不通的我不碰,肯定会错失很多好机会,但是保证抓住的都是对的。投资遵循老巴的逻辑:先看商业模式,理解企业怎么挣钱。95%的人投资都是focus在市场上的,这就是不懂投资。一定要focus在生意上。公司是要挣钱的。

15. 什么时候卖苹果,为什么?

段永平:好公司是不需要卖的!

16. 你来美国后,能力圈有什么提升?

段永平:能力圈不是拿金箍棒在地上画个圈,说待在里面不要出去,外面有妖怪。能力圈是:诚实对自己,知之为知之,不知为不知。有这样的态度,然后如果能看懂一个东西,那它就是在我能力圈内,否则就不是。

苹果1万亿市值?我从来不关心这个,我只关心它赚钱的能力。买公司,是不打算卖的,除非它盈利能力改变,或者有更好的标的,自己很懂,价格又很低。

17. 怎么看待创业的“坚持了才有希望”和“Stop Doing List”?

段永平:“Stop Doing List”说的是做对的事,如果知道错了,马上要改。创业依然适用。(就是对的事情一定要坚持,错的事情一定要尽快改!)至于怎么做对,那是方法层面的,可以通过学习来解决。

要是不知对错,就是没有是非观,那这辈子很难有成就。是非观是要自己培养、坚持的,没有shortcut。比如抽烟,很多人不戒烟不是因为不知道它不好,而是抵抗不了短期诱惑。

18. 为什么不见媒体?

段永平:不希望给公众留下我掌控公司的印象,抢了CEO的成就感。不抢他们的功劳,这很重要,因为事实上我本人已经10多年没有在一线了,如果我还是CEO的话,公司很可能做不了这么好。 

19. 怎么看待中美市场环境对创业的差异?

段永平:美国环境更好一点。在中国做企业更辛苦,做完自己的事,还得做警察的事、消防的事、保安的事,麻烦......

20. 你主张不贷款,不用margin,错过了机会怎么办?

段永平:贷款和用margin,赚的时候快,赔的时候更快。常在河边走,哪能不湿鞋,湿一回鞋就湿一辈子,为什么要冒这个险呢?(有些机会总是要错过的,只要保证抓住的是对的,就足够了。)我们过去的大部分竞争对手都消失了,我们还健在,道理也许就在此。

21. 你怎么看待智能手机壳行业?

段永平:我不懂。但是我知道,好东西不需要推广,你看智能手机一出来,很快就普及开了。如果你的东西推出去没有很快抓住用户,肯定是不够好,一定要回来好好思考,想自己的问题。

22. 对职场新人职业发展的建议?

段永平:做好本职工作,不要跳来跳去。硅谷很多人喜欢跳槽,但是在苹果干30年,比跳去大多数创业公司结果都要好。

23. 如何看待创业?

段永平:如果自己都不懂自己在做什么,要让投资人相信你是不可能的。黄峥有一点特别好,会不停地问这个是什么意思,这个是什么意思,关注问题本质。

段永平:企业文化就是Mission、Vision和Core Values。“Mission”是为什么成立;“Vision”是我们要去哪里;“Core Values”是哪些事情是对的,哪些事情是不对的。

招人分合格的人和合适的人。合适是指文化匹配, 合格是指能力。价值观不match(匹配)的人,坚决不要。给公司制造麻烦的,往往是合格但不合适的人。一群合适的普通人在一起,同心合力也能干大事。 

25. 怎么看待中国企业爱弯道超车?

段永平:Alaska有句话,shortcut is the fastest way to get lost(捷径是迷路的最快的办法。)不存在什么弯道超车的事情,关注本质最重要!不然即使超过去,也会被超回来。

26. 怎么判断股价便不便宜?

段永平:这是关注短期关注市场的人才会问的问题。我不考虑这个问题。我关注长期,看不懂的不碰。任何想市场,想时机的做法,可能都是错误的,我不看市场,我看生意。你说某只股票贵,how do you know?站在现在看10年前,估计什么都是贵的。你站在10年后看现在,能看懂而且便宜的公司,买就行了。

段永平:主要讲的是做对的事情。它不是一个skill(技巧)或者formula(公式),而是思维方式:如果发现错了,就立刻停止,因为这个时候成本是最小的。我不能告诉你对错,怎么判断对错,要自己积累。

不该骗用户,不该骗投资人,每句话都是一个promise(承诺),这你应该是知道的。你去找投资,说没生意,没skill,什么都没有,那你去找你爸。你总得有点儿什么,才能见投资人吧。如果你自己都搞不清楚要做的事,让投资人怎么相信你?

至于怎么把事情做对,要花时间去培养skill sets(就是有学习曲线的意思,要允许犯错误)。坚持“Stop Doing List”,厉害是攒出来的。OPPO跟苹果比,我们在做对的事情上是一样的,但是在把事情做对上可能有些差距。但我们有积累。我们比大多数公司厉害。

“Stop Doing List”没有shortcut(捷径),要靠自己去积累,去攒,去体悟。stop doing就是发现错,就要停,时间长了就效果很明显。很多人放不下眼前的诱惑,30年后还在那儿。错了一定要停,要抵抗住短期的诱惑。

28. 在硅谷怎么更好地带娃?

段永平:最主要的,要给孩子安全感。怎么给?就是给quality time,就是高质量的陪伴,跟他们交朋友。高质量的陪伴,就是待在一起,把手机藏起来。

要无条件的爱。中国人容易有条件的爱,“你得了第一,爸爸很爱你啊”,这两句话绝对不能放一起说。中国人也爱到处夸孩子得了第一,这容易给孩子压力。孩子会想:我得第二你是不是就不爱我了?我带孩子,坚持尽量不对孩子说“NO”,除了大是大非,涉及边界的事,其他的都让孩子大胆地探索。

29. 怎么看待老巴?

段永平:老巴是一个很好的人。他是发自内心的的对人好对人诚恳。他很睿智,任何复杂的问题,他一两句话就说到本质了。他这么睿智这么成功又对人这么好,中国企业家里我基本没见过这样的,美国企业家里也极少。 

30. 为什么卖网易?

段永平:因为丁磊就是个大孩子,那么多钱放他手里不放心,虽然股价证明我可能卖错了。

31. 怎么看待特斯拉?

段永平:芒格说,马斯克是个被证明了的天才,他的IQ可能是190,但他自己认为他是250。但是run a company,you must be rational(经营一家公司,你必须要理性!)。在我眼里,特斯拉是一家价值为零为zero的公司,迟早要完。他的culture(企业文化)很糟糕。

32. 如何建立长期友谊?

段永平:就是和人真诚打交道。我跟老巴学到的, 人一辈子最重要的是友谊。所以要对朋友宽容,要友善,要诚实。但他也没说要有很多朋友,能有一打好朋友就足够了。

33. 怎么把culture(文化)传承下去?

段永平:没有特别的秘诀,主要在于选择,找到同道中人。因为你是没有办法说服不相信你的人的。不相信你的人,你跟他说话的时候,他的眼神是飘的,你能看出来。然后就是年年讲,月月讲,天天讲,靠年头淘汰掉不合适的。 

34. 怎么样选人,包括合伙人,员工?

段永平:一次就找对那是运气。主要是要有标准,该淘汰淘汰,该散伙散伙。知道错了,要有停止的勇气。越早停止,代价越小。

段永平:我想的都不是眼前的。我是学无线电的,但我没有干这个,因为这不是我爱干的事。当年研究生毕业时找的工作说你多少年能当处长,两年能分房子,鸡鸭鱼肉有得分。但是我没有兴趣。所以我离开了。后来去的佛山无线电八厂,当年这个只有几百人的公司招了100本科生,50个研究生。大家都不满意,很多人都想走。结果我离开两年后小霸王都做出来了,回去一看,那帮人都还在(只走了一个人)。

很多人说“我没有找到更好的机会”,其实是他们没有停止做不对的事情的勇气。所以stop doing的意思,就是发现错了就要马上停,不然两年后,可能还是待在那个不好的地方。我一直想的是长远的事情。很多人都是在眼前的利益上打转,他30年后还会在那儿打转。

36. 美国对中国的误解?

段永平:美国人对中国的理解整体不错。我支持political right(政治正确),因为如果你连政治都不正确,你怎么会正确?目前美国人选的总统是让我非常困惑的,但我相信最终都会好起来的。

37. (价值)投资最重要的是什么?

段永平:right business,right people,right price。(对的生意,对的人,对的价钱。这是老巴说的。)对的生意说的就是生意模式,对的人指的就是企业文化。price没有那么重要,business和people最重要。culture跟founder(创始人)有很大关系。business model,就是赚钱的方式,这个是你必须自己去悟的,我没法儿告诉你。就像如果你不打高尔夫,我是无法告诉你它的乐趣的。

38. 创业该怎么坚持?

段永平:我的理解很简单,如果你坚持不下来了,就坚持不下来了。你坚持下来的东西,肯定是你放不下的,到时候你自己会知道。

39. 怎么看比特币/区块链?

段永平:我对不产生现金流的东西,不感兴趣。区块链我不懂,不懂不看,不懂没法下重注。但是我看不懂,不代表你看不懂,你要投自己能看懂的。

40. 怎么发现并保持平常心?

段永平:保持不难,因为它就在那儿(是内心已经有的东西)。不过,马云还说过一句话“平常人是很难有平常心的,所以平常心也是不平常心!”发现嘛,靠吃亏。因为没有平常心,一不rational就会栽跟头。

41. 怎么找到喜欢做的事?

段永平:你如果总是待在自己不喜欢的地方,你可能永远都不会知道自己真正喜欢什么。所以发现错的事情,就要停。多去尝试,去寻找。做自己喜欢的事,就没有加班的概念了,因为你会想尽办法工作。

42. 我觉得失败是必然的,成功是偶然的,对吗?

段永平:成功肯定是有原因的。

43. 如果有机会再活一遍,什么事会做得不一样?

段永平:不知道,没这么想过这个问题。可能少喝点红酒?

44. 最想给儿子说什么?

段永平:说什么都没有用,做什么才重要(最重要是做什么)。(这是老巴说的)

45. 怎么发现对/不对的事情?

段永平:要有时间想。可能会想很久,有一天突然灵光一现,想明白是错的/对的。我们当年想小霸王的广告词,想了半年才想顺词。很多人一天到晚忙,根本没时间想,可能永远都不会明白。

46. 中国有没有大危机?

段永平:也有人微信上问我会不会有动荡啊之类的。我说我以为我们一直在动荡中呢。我觉得我们一直都有危机啊,有人危,有人机,做好自己就好了。

47. 怎么看待贸易战?

段永平:你用10年看,这件事一定会过去。股市要真出了问题,苹果那么多现金,一定更厉害啊,所以这个时候更应该买好公司。 

48. 你是怎么找到你们公司的产品的mission(使命)的?

段永平:产品角度,是慢慢摸索出来的,发现不对,赶紧停。比如苹果的充电器,说了一年了,今年没推出来。没推出来,肯定是有问题没解决。没解决就不推。

49. 男怕入错行。将来会火的、自己擅长的,自己喜欢的,选哪个?

段永平:如果你知道:会火的+擅长的+喜欢的,那肯定做那一行。问题是这很难知道,所以优先做自己喜欢的。钱多不是好事,因为挣钱是一个很大的乐趣,钱多你就失去了一个很重要的乐趣。钱差不多就可以了,做自己喜欢的事更重要。

50. 苹果手表心电图FDA认证有价值吗?

段永平:当然有啊,首先吸引眼球,让人知道啊;其次,有了认证,医生才会承认啊。

51. 人机交互的下一个突破口?

段永平:我不知道。但是机器肯定越来越强,人已经在围棋上输了,做投机你也打不过机器。但是在投资上,机器永远打不过人,因为机器看不懂公司。

52. 怎么对待差异化定价(给不同的客户不同的价格)?

段永平:价格不一致,一是他们迟早会发现;二是客户发现能议价,会想尽办法跟你讨价还价,浪费你很多时间,这都是麻烦事。价格一致,会省很多麻烦。做产品主要是要抓住客户的需求,而不是价格。可以看看空客的John Leahy。(一个人打败了波音啊!当然背后靠的还是产品!)

53. 黄峥的什么(优势)让你投他?

段永平:我和黄峥10多年的朋友了,我了解他,我信任他!

}

我要回帖

更多关于 车床导轨在水平面内与主轴线不平行 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信