临时表最有意思的特点之一是undo段也存储在常规undo表空间中,而它们的undo反过来被redo保护,这会导致一些问题. 1)  写undo表空间需要数据库以读写模式打开,因此,只读数据库和物理备库中不能用临时表. 2)  临时表中存储的是临时数据,恢复数据库时不需要恢复它们,因此,浪费redo来保护它们没必要. 3)  临时表的undo占用满足undo保留时间的表空间. Oracle12c中,允许将临时表的undo数据存储在临时表空间中,这使得临时表可以用于物理备库和只读库中,因为临时表没必…
Oracle 12c中,通过延迟相关索引的维护可以优化某些DROP和TRUNCATE分区命令的性能,同时,保持全局索引为有效. 1.   设置 下面的例子演示带全局索引的表创建和加载数据的过程. -- 建表 CREATE TABLE t1 (id            NUMBER, comment   VARCHAR2(50), crt_time  DATE) PARTITION BY RANGE (crt_time) (PARTITION part_14 VALUES LESS THAN (…
内存列存储(IM column store) 是Oracle12.1.0.2版本的主要特点.该特点允许列,表,分区和物化视图在内存中以列格式存储,而不是通常的行格式.数据存在内存中的好处显而易见,而列格式存储非常适合商务智能(BI)产品中的分析查询. 列存储是Oracle企业版的独立许可选项. 1.   简介 内存列存储在SGA中是一个新部分,通过初始化参数INMEMORY_SIZE指定大小.可以选择确定的列,整个表,物化视图或表分区组合存储在该部分.或者,你也可以在表空间层启用内存列存储,从而…
1.   后台 UNIX/Linux系统上,oracle用多进程模型.例如:linux上一个常规安装的数据库会有如下进程列: $ ps -ef | grep [o]ra_ oracle  15356     1  0 10:53 ?        00:00:00 ora_pmon_db12c oracle  15358     1  0 10:53 ?        00:00:00 ora_psp0_db12c oracle  15360     1  8 10:53 ?        00…
智能闪存功能最初在XD中引入.从Oracle11.2.0.2开始,除了用于XD存储,还可用于任何闪盘.Oracle12c中,不需卷管理器就可以使用闪盘. 1.  简介 智能闪存在solaris和linux上都可用,允许用户把闪盘当做第二层缓冲使用来改善性能.通常,当缓存中的数据因超时而被刷出后,下次使用时需被再次从磁盘读取到内存.通过智能闪存,超时的数据可以被放在智能缓存中,当这些数据被再次使用时,比从磁盘上读取能更快些. 为了能优化性能,官方文档建议智能闪存应该为缓存的2~10倍.这里,我们有…
1.    数据文件在线重命名和迁移 不想先前的版本号.在Oracle12cR1中,数据文件的迁移或重命名不再要求一系列的步骤,比如:将表空间至于仅仅读模式,然后数据文件逻辑等操作.在12cR1中.数据文件能通过SQL语句"ALTERDATABASE MOVE DATAFILE"非常easy的在线完毕.在移动数据文件的过程中,用户能够运行查询,DML和DDL任务.另外,数据文件能在存储间迁移,比如:从非ASM到ASM,反之亦然. 1.1.   重命名数据文件: SQL> ALTE…
有些应用有“标记删除”的概念,即不是删除数据,而是数据依然保留在表中,只是对应用不可见而已.这种需求通常通过如下方法实现: 1)  给相关表增加一个另外的列,该列存储标志数据被删除的标记. 2)  给每个语句增加一个谓词,检查被删除行的状态,像:“WHERE deleted = 'N'”,以便排除被删除行. 谓词能被硬编码进SQL语句中,或动态应用类似VPD的安全策略. 数据库内归档是Oracle12c的新特性,该特性可以对现有代码做最少改动的情况下,实现了这种“标记删除”的功能和需求. 1. …
Oracle11g中,为了改善DBMS_STATS包收集统计信息时的唯一值计数功能,增加了 APPROX_COUNT_DISTINCT函数,但文档中未记载.Oracle12c文档中包括了该函数,因此,我们现在可以在应用中随意使用它. 1.    基本用法 先前的数据库版本中,如果我们想进行唯一值计数,我们可能会这么做. SELECT COUNT(DISTINCT c_name) AS nm_cnt FROM   test; NM_CNT ---------- 58172 1 row select…
1.    自动存储管理(ASM)方面的增强 1.1.   Flex ASM 在典型的网格架构安装中,每个节点有自己的ASM实例运行并扮演该节点上数据库的存储容器的角色,对这种安装配置,存在单点失败的风险.例如,如果该节点上的ASM实例出现问题或失败,那么,运行在该节点上的数据库和实例都将会被影响.为了避免ASM实例的单点失败,Oracle12c 提供一个flex ASM特性.Flex ASM总体来说是个不同的概念和架构,其中,只需要几个ASM实例运行在簇中的一组服务器上,但一个节点上的ASM实…
1.   内容提要 1)   表分区维护的增强. 2)   数据库升级改善. 3)   跨网络还原/恢复数据文件. 4)   数据泵的增强. 5)   实时ADDM. 6)   并发统计信息收集. 2.   表分区维护的增强 在其他文章中,我说明了如何在线或离线把一个表分区或子分区移到一个不同的表空间.这部分,你将学习和表分区相关的其他方面的增强. 2.1.  增加多个新分区. 12c R1之前,在一个已分区表上只能一次增加一个分区.为了增加多个分区,你必须每增加一个新分区单独执行一个ALTER…
SQL计划指令是Oracle12c中自适应查询优化的功能之一.SQL计划指令就像“额外的提醒” ,用以提醒优化器你先前选择了的计划并不是最优的,典型的是因为错误的势评估.错误的势评估往往是由统计信息缺失,统计信息陈旧,复杂的谓词或操作等引起的.SQL计划指令和SQL轮廓(SQL profiles)不同,后者是针对特定语句的,而SQL计划指令和查询表达式关联,因此,它们可以被多个包含匹配查询表达式的语句共享.柱状图或扩展统计信息缺失也许会导致SQL计划指令的产生. 数据库在内部自动管理SQL计划指…
MySQL的公开课,可能目前用不上这些,但是往往能在以后想解决方案的时候帮助到我.以下是阿里对公开课的整理 摘要: 本文根据阿里高级数据库专家何登成在首届阿里巴巴在线技术峰会上的分享整理而成.他主要介绍了AliSQL相对于MySQL进行的性能优化.通过大连接.高并发下的数据库稳定性保障和库存热点更新两个问题的解决方案介绍了高低水位限流和线程池的使用方法以及库存热点优化的三步改进,提出AliSQL的完整生态体系. 本文根据阿里高级数据库专家何登成在首届阿里巴巴在线技术峰会上的分享整理而成.他主要介…
Atitit 数据融合merge功能v3新特性.docx 1.1. 版本历史1 1.2. 生成sql结果1 1.3. 使用范例1 1.4. 核心代码1 1.1. 版本历史 V2增加了replace部分. V3 修改为 ON DUPLICATE KEY UPDATE,并实现多字段更新模式. 1.2. 生成sql结果 5715,insert into s_member(department_id,member_no,duties_id,duties_name,phone,name,departmen…
在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身.养成良好的编码习惯非常重要,能够显著地提升程序性能. 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 控制资源的使用,通过线程同步来控制资源的并发访问: 控制实例的产生,以达到节约资源的目的: 控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信. 2. 尽量避免随意使用静态变量 当某个…
因为 PHP 那“集百家之长”的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣.本文将会介绍自 PHP5.2 起,直至 PHP5.6 中增加的新特征 本文目录:PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束PHP5.2:JSON 支持PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,PharPHP5.4:Short Open Tag, 数组简写形式,Traits, 内置…
本文目录:PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束PHP5.2:JSON 支持PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,PharPHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改PHP5.5:yield, list() 用于 foreach, 细节修改PHP5.6: 常量增强,可变函数参数,命名空间增强 一.PH…
1 设计模式 (1) 单例模式 保证一个类只能一个对象实现.正常的单例模式分为懒汉式和饿汉式,饿汉式就是把单例声明称static a=new A(),系统第一次调用的时候生成(包括调用该类的其他静态资源也会生成),懒汉式就是系统调用get函数的时候,加个锁判断单例对象是否存在,存在就返回不存在就声明一个.好一点的懒汉式应该把单例加一个静态内部类,第一次访问的类的时候静态内部类不会初始化,当调用的get方法的时候再实例化,这样不用加锁效率高一些, public class StaticSingle…
PHP7于2015年11月正式发布,本次更新可谓是PHP的重要里程碑,它将带来显著的性能改进和新特性,并对之前版本的一些特性进行改进.本文小编将和大家一起来了解探讨PHP7中的新特性. 1. 标量类型声明 我们知道PHP是一种弱类型的编程语言,因此没有提供任何方法来指定输入参数和返回值的类型,PHP7突破了这种现状,增加了对标量类型(int,float,string,bool)的声明支持,增加declare(strict_types=1)指令声明是否严格类型校验,我们来看一段代码: declar…
前言 es6有很多新东西,但是感觉常用的并不是很多,这里学习记录了一些我自己认为非常常用又强大的新特性. scoping 实用的块级作用域,let x = xxx 可以声明一个块级作用域的局部变量,简单举个例子下面1号函数可以达到正常的效果,而二号则不能,因为变量i是全局的,以往我们可以通过自执行函数解决 不过现在吗就是用let了. ///1111 let callbacks = [] for (let i = 0; i <= 2; i++) { callbacks[i] = function…
jdk8增加了不少新的东西,在集合操作这块,就有如 lamda表达式,stream,sort,optional等新的类,主要涉及遍历和排序等方面,新特性提升了不少性能,我们开发就是要拥抱新事物,守着老食物总会落后,跟不上节奏,下面是自己的新特性的一些demo public class Java8Test { private static Logger logger = LoggerFactory.getLogger(Java8Test.class); public static void jav…
[z]http://www.cnblogs.com/xszjk/articles/6417173.html [z]https://www.cnblogs.com/qixu/p/6047229.html 注意:这些新特性只能用于VS2015及更高版本,无法在VS2013.VS2010等低版本中使用.当然,如果你不喜欢这些新的特性,仍然可以继续使用原来的用法(所以说它是新的语法糖). 1.自动属性初始化的改进(有用) 原来的用法(声明时无法同时初始化),例如: 1 2 3 4 5 6 7 8 9 1…
Oracle 12c R1 之前,临时表生成的undo记录是存储在undo表空间里的,通用表和持久表的undo记录也是类似的.而在 12c R12 的临时 undo 功能中,临时 undo 记录可以存储在一个临时表中,而无需再存储在 undo 表空间内.临时表的UNDO信息通常用于读一致性和事务回滚,在事务完成之后,无需进行恢复,所以也就不必永久保存.这个特性完全无损Oracle的事务一致性.这样做的主要好处在于:减少 undo 表空间,由于信息不会被记录在 redo 日志中,所以减少了 red…
通常情况下,Oracle会决定哪些数据会留在缓冲区中.当没足够的空间时,数据会被写出内存.此外,为了避免大量读取将有用的信息挤出缓冲区,Oracle对有些操作也许会才去绕过缓冲区的措施.Oracle12cR1 (12.1.0.2)引入了全数据缓冲的概念.如果Oracle认为缓冲区大的足以容纳整个数据库,那么,它将会缓冲所有的数据块.此外,可以强制启用全数据缓冲模式. 1.   强制开启全数据库缓冲模式 不是让Oracle自己决定是否开启全数据库缓冲模式,你可以通过ALTER DATABASE命令…
那么在Windows下有什么好的内存泄漏检测工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具Visual Leak Detector(以下简称vld). vld工具是VC++环境下一款小巧易用.免费开源的内存泄漏检测工具,vld可以显示导致内存泄漏的完整内存分配调用堆栈.vld的检测报告能够对每个内存泄漏点提供完整的堆栈跟踪,并且包含其源文件及行号信息. 安装过程是,先在到地址http://vld.codeplex.com/下载vld安…
说到Windows平台,我们很快就想到了Visual Studio 2012,然而Visual Studio 2012在这方面没有很好的工具.如果我们只是想知道大体上内存.CPU等在某一事件前后变化情况,我们可以使用Windows任务管理器.Windows任务管理器对于很多用户都不陌生,自从有Windows操作系统以来,这个工具就伴随着Windows.打开任务管理器方法也有很多,在Windows7和Windows8平台可以使用Ctrl+Shift+Esc 组合键调出:也可通过Ctrl+Alt+D…
1.在adapter中的getView方法中尽量少使用逻辑 不要在你的getView()中写过多的逻辑代码,我们能够将这些代码放在别的地方.比如: 优化前的getView(): @Override public View getView(int position, View convertView, ViewGroup paramViewGroup) { Object current_event = mObjects.get(position); ViewHolder holder = null…
Instruments是动态分析工具,它与Xcode集成在一起,可以在Xcode中通过菜单Product→Profile启动.启动如图所示,Instruments有很多跟踪模板可以动态分析和跟踪内存.CPU和文件系统. 每个跟踪模板都有不同的用途,其中Leaks可以检测内存泄漏点,Allocations跟踪模板可以查看内存的使用情况.下面我们通过一个实例介绍一些Instruments工具的使用,我们来人为制造一个内存泄漏,我们在HelloWorldScene.cpp中修改代码: bool Hel…
react提升代码性能的点 1.绑定如果改变作用域点话放在constructor里面做,这样可以保证整个程序的作用域绑定操作只会执行一次,而且避免子组件的无谓渲染. 2.内置的setState是个异步操作,多次数据的改变变成一次,这样可以降低虚拟dom的比对频率 3.底层用虚拟dom,同层比对,key值等概念,来提升比对的速度,从而提升react的性能 4.借助shouldComponentUpdate,可以提高react的性能,因为可以避免无谓的组件render函数的运行.…
1.placeholder <input type="text" placeholder="请输入手机号码" class="phone" tabIndex = "1" /></li> 2.标签data-title,jquery中获取$().data('title')…
1. 让有滚动行为的元素平滑滚动  scroll-behavior: smooth; <div class="smooth"> </dvi> .smooth { scroll-behavior: smooth; } 一个用处就是通过 <a href="#id"> 实现的页面内部滚动 支持浏览器:Chrome Firefox Opera 2. 粘性导航定位 position:sticky <nav style="po…