5. update statistics medium for table rta1 resolution 0.5 0.89 3.10. 使用复合索引 建复合索引的原则: 1. 查询语句中不定的字段尽量放在复合索引的后面。 如 有查询语句select * from person where name=”王 艳” sex=”0” and birthday >”1982/12/1” 则索引建成如下形式效率最好。 Create index idx_person on person(name, ,birthday ,sex) 而不要建成 Create index idx_person on person(birthday,sex,name) 2. 取值范围大,可能值多的尽量放在复合索引的前面。 性别只有两种取值“男“”女“ ,最好放在最后。 姓名可能值最多,最好放在最前,则索引为: Create index idx_person on person(name,birthday,sex) 若与第一条有冲突,第一条优先。 3. 有单独作为条件的,最好放在前面。 如果如下的sql 语句出现的频率较高 select * from person where name >” “ 或select * from person where name matches “ “ 则name 字段最好放在索引的前面。 复合索引的建立必须根据整个系统的sql 语句,均衡的考虑。 4. INformIX 数据库数据复制(CDR) 4.1. 基本概念 4.1.1. 数据复制类型:同步、异步 l 同步:源数据更新同时马上更新目标数据,系统使用2 步提交技术保证了数据的完整性。 2 步提交要求目标主机和网络环境有较高的可靠性。即任何时候都是可用的。 l 异步:目标数据的复制可以根据应用要求设定,但最终要同步所有的数据。在一般的开放系统中,异步方式更为常用,因为它忽略了主机和网络的性能,这往往是一些系统的致命问题。 异步复制又分为如下几种模式: 1) 主从模式:所有数据更新都是从原到目标,是单向数据复制。如图示: 2) 工作流模式:数据在服务器间一一流转,也是单向数据复制。如图示: 3) 任意更新模式:所有定义的数据库之间都互相具有读写权限,它的弊端是容易引起复制冲突,当然CDR 也提供了冲突解决规则。如图示: 4.1.2. 复制机制:基于触发器和基于日志 s5NT3uZ l 触发器方式:这种将与系统竞争对数据库表读写的资源,对正常业务效率有较大影响。并且需要通过应用保证数据完整性。该种方式不可取。 l 日志方式:由于是采取捕获事物信息的方式,因此不会与系统竞争对数据库表读写资源,效率高。且由系统保持数据一致性、完整性。并有可集中管理的优势。 4.1.3. CDR 的局限性 l 仅提供IDS 之间的复制 l 不能与HDR 并行使用。 l 复制的表不能用view l 一个数据库服务器只能参与一个复制服务 一旦建立了复制服务器: l 不能用drop table;rename talbe; alter fragment 等SQL l 复制的表必须有primary key,且不能修改 l 不能对字段增删改 l 不能建立聚合索引 4.1.4. CDR 如何实现 l 复制过程主要包括4 个部分: 1. 捕获事物 CDR 使用基于日志的事物捕获机制获得事物信息。这种方式不会与正常事物竞争对表的存取,所以能获得较好的性能。CDR 读log 后加上标志,并将它传送到下一步,复制评估。 2. 复制评估 CDR 要确定每一条记录的最后值及更新发生时间,以便决定是否进行复制。评估是并行处理的以保证较高性能。评估后CDR 将数据置于消息队列。 3. 数据分发
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] 下一页
|