数据库oracle笔试
——————拓展: 在线创建索引
在线创建索引时会阻塞DML操作, 直到创建唯一索引成功, DML才正常操作; 所以为了减少性能,不阻塞DML操作最好在最后加上 online关键字。
11、 在oracle中如何确定重复的记录?
a、 自关联查询方法:
oracle系统中, 对于所有的表都存在一个唯一的列, 这就是rowid对该列使用max或者min
b、 使用group by/having 子句
c、 exception into 子句。
12、 关于使用DataSource连接数据库的方式:
参考API内容如下:
该工厂用于提供到此 DataSource 对象所表示的物理数据源的连接。作为 DriverManager 工具的替代项,DataSource 对象是获取连接的首选方法。实现 DataSource 接口的对象通常在基于 JavaTM Naming and Directory Interface (JNDI) API 的命名服务中注册。
DataSource 接口由驱动程序供应商实现。共有三种类型的实现:
基本实现 - 生成标准的 Connection 对象
连接池实现 - 生成自动参与连接池的 Connection 对象。此实现与中间层连接池管理器一起使用。
分布式事务实现 - 生成一个 Connection 对象,该对象可用于分布式事务,大多数情况下总是参与连接池。此实现与中间层事务管理器一起使用,大多数情况下总是与连接池管理器一起使用。
DataSource 对象的属性在必要时可以修改。例如,如果将数据源移动到另一个服务器,则可更改与服务器相关的属性。其优点在于,由于可以更改数据源的属性,所以任何访问该数据源的代码都无需更改。
通过 DataSource 对象访问的驱动程序本身不会向 DriverManager 注册。通过查找操作获取 DataSource 对象,然后使用该对象创建 Connection 对象。使用基本的实现,通过 DataSource 对象获取的连接与通过 DriverManager 设施获取的连接相同。