对学习的计划

时间:2021-11-14 15:59:30 学习计划 我要投稿

精选对学习的计划汇总5篇

  时间过得飞快,我们的学习生活又将在忙碌中充实着,在喜悦中收获着,是时候制定学习计划了哦。好的学习计划都具备一些什么特点呢?以下是小编精心整理的对学习的计划5篇,希望能够帮助到大家。

精选对学习的计划汇总5篇

对学习的计划 篇1

  一、 Oracle 执行SQL的步骤

  1.1、 SQL 语句的两种类型

  DDL语句,不共享,每次执行硬解析;

  DML语句,会共享,硬解析或者软解析。

  1.2、 SQL执行步骤

  1、 语法检测。判断一条SQL语句的语法是否符合SQL的规范;

  2、 语义检查。语法正确的SQL语句在解析的第二个步骤就是判断该SQL语句所访问的表及列是否准确?用户是否有权限访问或更改相应的表或列?

  3、 检查共享池中是否有相同的语句存在。假如执行的SQL语句已经在共享池中存在同样的副本,那么该SQL语句将会被软解析,也就是可以重用已解析过的语句的执行计划和优化方案,可以忽略语句解析过程中最耗费资源的步骤,这也是我们为什么一直强调避免硬解析的原因。这个步骤又可以分为两个步骤:

  (1)验证SQL语句是否完全一致。

  (2) 验证SQL语句执行环境是否相同。比如同样一条SQL语句,一个查询会话加了/*+ first_rows */的HINT,另外一个用户加/*+ all_rows */的HINT,他们就会产生不同的执行计划,尽管他们是查询同样的数据。

  通过如上三个步骤检查以后,如果SQL语句是一致的,那么就会重用原有SQL语句的执行计划和优化方案,也就是我们通常所说的软解析。如果SQL语句没有找到同样的副本,那么就需要进行硬解析了。

  4、 Oracle根据提交的SQL语句再查询相应的数据对象是否有统计信息。如果有统计信息的话,那么CBO将会使用这些统计信息产生所有可能的执行计划(可能多达成千上万个)和相应的Cost,最终选择Cost最低的那个执行计划。如果查询的数据对象无统计信息,则按RBO的默认规则选择相应的执行计划。这个步骤也是解析中最耗费资源的,因此我们应该极力避免硬解析的产生。至此,解析的步骤已经全部完成,Oracle将会根据解析产生的执行计划执行SQL语句和提取相应的数据。

  二、 优化器介绍

  Oracle在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行计划的工作是由优化器(Optimizer)来完成的。不同的情况,一条SQL可能有多种执行计划,但在某一时点,一定只有一种执行计划是最优的,花费时间是最少的。 Oracle目前提供RBO和CBO两种优化器。

  2.1 RBO(RULE-BASE Optimization)基于规则的优化器

  RBO的执行路径和等级:

  1、 Single Row by Rowid(等级最高)

  2、 Single Row by Cluster Join

  3、 Single Row by Hash Cluster Key with Unique or Primary Key

  4、 Single Row by Unique or Primary Key

  5、Clustered Join

  6、 Hash Cluster Key

  7、 Indexed Cluster Key

  8、 Composite Index

  9、 Single-Column Indexes

  10、 Bounded Range Search on Indexed Columns

  11、 Unbounded Range Search on Indexed Columns

  12、 Sort Merge Join

  13、 MAX or MIN of Indexed Column

  14、 ORDER BY on Indexed Column

  15、 Full Table Scan(等级最低)

  优化器根据上述等级优先选择高效的执行路径,以上涉及到的概念在后面详细分析。

  2.2 CBO(COST-BASE Optimization)基于代价的优化器

  Oracle把一个代价引擎集成在数据库内核,用来估计每个执行计划的代价,并量化执行计划所耗费资源,从而选择选择最优的执行计划,查询耗费资源分为以下三种。

  I/0代价,即从磁盘读数据到内存的代价,从数据文件中数据块的内容读取到SGA数

  据高速缓存中,这是数据访问最主要的代价,故优化原则一般以降低查询产生的I/0次数为主;

  CPU代价,即处理在内存中数据所需代价,如对数据进行排序(sort)或者连接(join)

  操作等;

  NetWork代价,对访问跨服务器数据库的数据,需要花费的传输操作耗费的资源。 CBO 方式通过表和索引的统计数据计算出相对准确的代价,然后采用最佳的执行计划,所以定期对表和索引进行分析是非常必要的,否则得不偿失,关于数据分析技术详见第三章。

  2.3 优化器模式

  Optimization-mode 即优化器模式,可选值包括:

  1、 Rule ,采用的是RBO;

  2、 CHOOSE,根据实际情况,如果数据字典中包含了引用表的统计数据,则采用CBO优

  化器,否则采用RBO;

  3、 ALL-Rows是CBO使用的第一种优化方法,以数据吞吐量为目标,以便可以使用最少

  的资源完成查询;

  4、 FIRST-ROWS是CBO使用的第二种优化方法,以数据的`响应时间为目标,以便快速查

  询出开始的几行;

  5、 FIRST-ROWS_[1|10|100|1000] 是CBO使用的第三种优化方法,选择一个响应时间最

  小的计划,迅速查询出结果。

  2.4 查看执行计划

  2.4.1、查看能执行计划方式

  1、通过下面的sql查询:

  explain plan for

  SELECT * FROM bss_org WHERE bss_org_id=1;

  SELECT * FROM table(dbms_xplan.display);

  2、直接看pl/sql的explain Plan。

  2.4.2 Estimator

  共 3 种度量标准:

  1、Selectivity

  表示有多少 rows 可以通过谓词被选择出来,大小介于 0.0~1.0,0 表示没有 row 被

  选择出来。

  如果没有 statistics,estimator 会使用一个默认的 selectivity 值,这个值根据谓词的不同而异。比如 '=' 的 selectivity 小于 '<'。

  如果有 statistics,比如对于 last_name = 'Smith',estimator 使用 last_name 列的 distinct 值的倒数(注:是指表中所有 last_name 的 distinct 值),作为 selectivity。

  如果 last_name 列上有 histogram,则使用 histogram 根据 last_name 值的分布情况产生的 selectivity 作为 selectivity。Histogram 在当列有数据倾斜时可以大大帮助 CBO 产生好的 selectivity。

  2. Cardinality

  表示一个 row set 的行数。

  Base cardinality:base table 的行数。如果表分析过了,则直接使用分析的统计信息。如果没有,则使用表 extents 的数量来估计。

  Effective cardinality:有效行集,指从基表中选择出来的行数。是 Base cardinality 和表上所有谓词的组合 Selectivity 的乘积。如果表上没有谓词,那么 Effective cardinality = Base cardinality。

  Join cardinality:两表 join 后产生的行数。是两表 cardinality 的乘积(Cartesian)乘以 Join 谓词的 selectivity。

  Distinct cardinality:列上 distinct 值的行数。

  Group cardinality:GROUP BY 操作之后 row set 的行数。由 grouping columns 的 distinct cardinality 和整个 row set 的行数决定。

  group cardinality lies between max ( dist. card. colx , dist. card. coly ) and min ( (dist. card. colx * dist. card. coly) , num rows in row set )

  3. Cost

  Cost 表现了 Disk I/O, CPU usage, Memory usage 资源单位的使用数量(units of work or resource used)。

  Access path 决定从 base table 获得数据所需的 units of work 的数量。也就是说Access path 决定 Cost 的值。Access path 可以是 table scan, fast full index scan, index scan。

  Oracle10G中,优化器默认为CBO,OPTIMIZER_MODE默认值为ALL_ROWS。不再使用古老的RBO模式,但RULE、CHOOSE并没有彻底消失,有些时候仍然可以作为我们调试的工具。另

  DBMS_XPLAN.DISPLAY_CURSOR观察更为详细的执行计划。

  2.5 Scan方式

  2.5.1、Full Table Scan 全表扫描

  优点:可以同时读多个数据块,减少了i/0访问次数,而且每个数据块只会被读一次。在查询一个表>5%~10%的时候,或者想用并行查询时,可以考虑使用。全表扫描的Hint: Full Table Scan Hints: /*+ FULL(table alias) */;

  2.5.2、Rowid Scans

  获得一行数据的最快方法。 一般要先通过 index scan 获得 Rowid,如果需要的列不在 index 中,再进行 Rowid Scans 获得相应的行,如果在 index 中,则不需要 Rowid Scans。HINT(很少用到):/*+ ROWID ( table ) */

  2.5.3、Index Scans

  1)、Index Unique Scans

  最多返回一个 rowid,用于 Unique Index 且 index cols 在条件中使用"等于"。如: SELECT * from serv where serv_id='518108574'。

  2)、Index Range Scans

  返回的数据按照 index columns 升序排列,index column 为同一个值的多行按照行 rowid 的升序排列。如果 order by/group by 的顺序和 Index Range Scans 返回的 row set 的顺序相同就不需要再 sort 了,否则还需要再对 row set 进行 sort。如:

  SELECT * from serv where prop_cust_id='518108574'.

  Unique index 中的 < > 条件,以及 nonunique indexe 的 < = > 条件,都会引起 Index Range Scans。如果进行 like查找,% 不能放最前面,否则不会进行 Index Range Scans。如:SELECT * from serv where serv_id LIKE '518108574%'。 使用该表上指定的索引对表进行索引扫描HINT:/*+ INDEX ( table [index]) */;

  不使用该表上指定的索引进行存取,仍然可以使用其它的索引进行索引扫描,HINT: /*+ NO_INDEX ( table [index]) */ 3)、Index Range Scans Descending

  和 Index Range Scans 相同,只是用于降序返回结果,或者返回小于某特定值的结果。 HINT:/*INDEX_DESC(table_alias index_name)*/

  4)、Index Skip Scans

  用于前导列没有出现在查询中(skiped)时使用索引。它将 composite index 拆分成若干个小的逻辑子索引。子索引的个数由前导列的 distinct 值决定。适用于前导列 distinct 值

对学习的计划 篇2

  今天是开学的第一天,老师让我们写一个学习计划我的计划如下:

  一、每天放学后先写作业,写完作业后,没有事情做后就去看课外书,星期天时写完作业再玩电脑。

  二、写作文要把字体写工整,并且内容要写多一点。

  三、多背英语书上的单词和课文。

  四、每天坚持看书一小时。

  五、多看书上的题,还要懂题的意思。

  六、不会的题要问同学,不要不会装会。

  以上是我的学习计划。

  我的竞争对手是王乾,我让他做我的竞争对手是因为他的语文和英语成绩都比我好,而且他在上课时积极法议案光这一点就可以超过我了,所以我要争取超越他。这一学期是小学生涯的.最后一学期了也就是我们冲向初中的句号,所以我们要好好学习争取考个好成绩。

对学习的计划 篇3

  寒假马上就要结束了,我已经进入了三年级下半年的大门了。在这一学期里,我必须做到:百尺竿头,更进一步。为了提升我的学习成绩,在新的学期里,我要制定好这个学习计划,要把每一点的.宝贵时间用在学习上。遇到自己解决不了的问题就及时向同学、老师请教。

  我有许多的不足之处:老师讲的东西不是不会,但总是出错,一到考试就粗心大意,而对于一些死记硬背才能学会的东西总是很不耐烦,英语连词成句也老是出错。

  我根据自己不足制定了几条学习计划:

  1、认真仔细写作业,认真对待每一门功课。

  2、写完作业认真检查,绝不马虎。

  3、每一天晚上看30分钟的英语书,加强句子的锻炼。

  以上都是我的缺点,我特别期望我自己可以克服这一些困难,向前努力,而我更期望我几天之内可以把他们搞定,真想真想,但我只有努力努力努力再努力,争取下学期把这一些坏毛病都改掉,争取下学期取得更好的、最大的好成绩,给爸爸妈妈一个最大的惊喜。

  耶!加油吧!

对学习的计划 篇4

  “咦?不对,不应该这样,这样实在是太多了呀!”我说,妈妈说:“离开学还有十天,你赶快把留剩下没做完的作业给我补上去!”我还没写完寒假作业呢!好多的!妈妈让我一天写十张字帖,2天写完,一天再写五篇黑马阅读,2天写完,再让我一天写一篇作文,我已经写三篇了,所以还是两天写完,再每天写一篇日记,我已经写5篇了,所以是5天完成的',剩下三天还要背三味书屋,以上是妈妈给我的学习计划,我的学习计划。

  每天所有的东西写一篇,黑马阅读是十天完成至于别的你知道的,背三味书屋那就写完日记第六天在背!妈妈生气的说:“不可以不可以,按我说的写。”我当然不同意,可是这一切都怪我前20天没有写那么多呢?如果和妈妈吵,我的学习计划肯定用不上,那不就泡汤了吗?

  “我有一个学习计划!”爸爸说,“就是两个学习计划一起采用。”“停!”我急忙说!“我采用妈妈的学习计划!”之后,我采用了妈妈的学习计划,埋头写作业去了!

对学习的计划 篇5

  又是一个新学期了,没办法,一想到学习计划,我脑中浮现的就是“新学期”这三个字。经过了一年多的学习,我想我对于初中的学习情况已经有了很大的适应,在这初中的学习生活中我也改掉了很多不好的习惯,最大的一点就是开始知道什么才算得上是认真学习。

  首先,我认为,学习中不可忽略的一点就是要学会分析自己的学习特点,像我——理解能力不错,老师讲的东西不是不懂,但却总出错,而且对于一些死记硬背才能学会的东西总觉得不耐烦,因此,在这点上,我希望自己能在新学期里对待学习更认真,更有耐心。

  其次,我觉得,在学习中,确定学习目标也是很重要的,学习目标是学生学习努力的方向,正确的学习目标更是能催人奋进。反之,没有目标的学习,就是对时光一种极大的浪费。所以,我暂时的目标就是全班前3名,而对于我较弱的数学我会努力,让它也有所进步。

  最后,也是最关键的.一点,就是要科学安排时间,没有合理的安排,再好的计划也会付之东流。所以,在新学期里,我最要学会的就是要合理安排学习、娱乐、休息的时间,要把每一点一滴宝贵的时间都抓紧。

  上个学习的有几次质检都留下了遗憾 ,但是我要用我所信奉的格言:失去的,永远不会比你手上现在握住的多来说

  计划写完了,我想,按照惯例,似乎还应该加上几句鼓励的话,但我觉得,有一句话会胜过许许多多鼓励的语言,那么,我就以它作为我学习计划的结尾吧,那就是——心动不如行动。

【对学习的计划】相关文章:

学习计划学习计划7篇02-22

学习计划学习计划三篇02-22

学习计划11-28

经典学习计划03-04

学习的计划06-20

学习部学习计划06-23

学习计划和学习目标范文03-09

外出学习计划12-08

学期学习计划12-13

幼师学习计划11-07