日期:2014-05-17 浏览次数:20818 次
默认创建的索引,是哪种类型 "A. B叉树索引 B. 位图索引 C. 反转索引 D. 函数索引" ------------A 下面关于复合索引哪个是错误的 " A. 创建复合索引时不需要考虑字段顺序 B. 创建复合索引时通常把选择性好的字段放在前面 C. 复合索引字段个数尽量不要多 D. 既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引" -------------A 表T_TAB中字段status为varchar2(32),并在此字段上建个索引,下面哪个能正确使用索引 " A. SELECT NAME1 FROM T_TAB WHERE STATUS = '1' B. SELECT NAME1 FROM T_TAB WHERE STATUS = 1 C. SELECT NAME1 FROM T_TAB WHERE STATUS||'' = '1' D. SELECT NAME1 FROM T_TAB WHERE SUBSTR(STATUS,1,1) = '1'" ----------A 分析:B oracle使用了隐式类型的转换,索引失效,C,D等效于函数。 "下面关于两种写法,说法错误的是 (1)OPEN CURSOR FOR 'SELECT * FROM T_TAB WHERE TELCODE = '''|| v_telcode || ''''; (2)OPEN CURSOR FOR 'SELECT * FROM T_TAB WHERE ACCEPTDATE = :1' USING v_telcode; A. (1)比(2)有更好的性能 B. (2)比(1)有更好的性能 C. (1)对每个号码都需要做硬解析 D. (2)对所有号码只需要做一次硬解析" -------------A 分析:C,D 硬编码如果没有指定cursor_shared,每次都需要解析.如果使用绑定变量只解析一次
------解决方案--------------------
关于UNIQUE和PRIMARY KEY,下面哪个是正确的 " A. 一个表只能有一个UNIQUE B. 一个表可以有多个PRIMARY KEY C. PRIMARY KEY的字段必须是非空的 D. UNIQUE的字段必须是非空的" -------C 分析:unique和primary 的唯一区别是:unique可以为空 下面关于锁说法正确的是 " A. 对于纯select语句,使用不当,也会引起锁 B. select .. from tab where id = '1' for update 是对所有记录加锁 C. 同一会话中对同一条记录修改会引起死锁 D. 不同会话交叉事务可能会导致死锁" -------D 分析:B,行锁,C,如果事务时间不交叉肯定没问题.A.是一定会引起锁,不过是共享锁。 下面哪个说法错误 " A. 在不使用DISTINCT、UNION、ORDER BY、GROUP BY情况下,也能实现业务功能的情况,一定不要使用这些功能 B. 如果业务逻辑允许的情况下,尽量用UNION ALL代替UNION C. 禁止对VARCHAR(2000)之类的大字段值进行ORDER BY、DISTINCT、GROUP BY、UNION之类的操作 D. 执行UNION ALL也会引起排序操作" ---------D 分析:很明显union 才排序 按照规范,下面关于分区表中建索引正确是 " A. 应为本地索引 B. 应为全局索引 C. 既可以本地索引,也可以全局索引 D. 以上都不对" ---------C 分析:没什么好说的 下面关于hints说法错误的是 " A. 常用/*+ .. */ 表示 B. 当hints语法错误时,sql语句无法执行 C. 当hints指定的索引被删除后,hints将会失去效果 D. 只有当索引不能正确使用时,才能使用hints" --------D 分析:hint索引又叫强制索引
------解决方案--------------------
1 b
2 a
3 a
4 a
5 c
6 c
7 d
8 c
9 d
------解决方案--------------------