Grand Central Dispatch是苹果过去几年创造出来的非常强大的API,在Let's Build系列的最新一期中,我们将探究dispatch_queue基础功能的重新实现.该主题是Rob Rixr提议的. 概述 dispatch queue是一个工作队列,其背后是一个全局的线程池.特别是,提交到队列的任务会在后台线程异步执行.所有线程共享同一个后台线程池,这使得系统更有效率. 这 也是我将要模仿的API的精髓部分.GCD还提供了很多精心设计的功能,为了简单起见,本文将把它们都略过.
最近一个星期ETL无论在凌晨或是在中午的JOB执行过程中经常卡住,导致不能按时完成系统引擎的运行,对业务产生影响. 通过生成AWR报告,发现有三条SQL消耗大量的CPU,而且还没有执行完成被终止的.如图 第二条更是占满了CPU资源,这无疑是导致卡住的原因,查看执行计划,是因为SAP_MAPL表扫描20多万条数据但是走全表扫描 经检查该表没有为MATNR字段建索引,为该表的MATNR字段建个普通的索引 CREATE INDEX IDX_MATNR ON SAP_MAPL(MATNR); 再观察执