java就业数据库面试题.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Java就业数据库面试题 在 Java 就业数据库面试中, SQL Server 2000 和 SQL Server 2005 是两个常见的数据库管理系统。下面我们将从多个方面对这两个数据库进行比较和分析。 1\. SQL Server 2000 和 SQL Server 2005 的区别 SQL Server 2000 和 SQL Server 2005 的界面有很明显的不同。 SQL Server 2005 的操作风格更接近于 VS2005。 SQL Server 2005 比 SQL Server 2000 存储的数据量要大很多, SQL Server 2005 支持数据库逻辑分区。 SQL Server 2000 和 SQL Server 2005 的 JDBC 连接不同。 SQL Server 2000 的 JDBC 连接: URL 地址:jdbc:microsoft:sqlserver://\<server_name>:\<1433>; driver :com.microsoft.jdbc.sqlserver.SQLServerDriver; SQL Server 2005 的 JDBC 连接: URL 地址:jdbc:sqlserver://\<server_name>:\<port>[;databaseName=<dbname>]; driver :com.microsoft.sqlserver.jdbc.SQLServerDriver; SQL Server 2005 增加了许多新的安全特性,例如将用户和对象分开、数据库加密、设置安全默认值、增强密码政策、缜密的许可控制、以及一个增强型的安全模式。 SQL Server 2005 还提供了一些新的特性,比如文件流支持、 T-SQL 的改进、数据库镜像、透器等。 2\. 存储过程的作用 存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。 存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。 存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。 可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:可以在单个存储过程中执行一系列 SQL 语句。可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。 3\. SQL Server 和 Oracle 数据库的性能优化 3.1 选用适合的 ORACLE 优化器 ORACLE 的优化器共有 3 种: RULE (基于规则)、 COST (基于成本) 和 CHOOSE (选择性)。在缺省情况下, ORACLE 采用 CHOOSE 优化器,为了避免那些不必要的全表扫描(full table scan),你必须尽量避免使用 CHOOSE 优化器,而直接采用基于规则或者基于成本的优化器。 3.2 访问 Table 的方式 ORACLE 采用两种访问表中记录的方式:全表扫描和通过 ROWID 访问表。全表扫描就是顺序地访问表中每条记录。 ORACLE 采用一次读入多个数据块(database block)的方式优化全表扫描。 通过 ROWID 访问表可以提高访问表的效率, RowId 包含了表中记录的物理位置信息。 ORACLE 采用索引(INDEX)实现了数据和存放数据的物理位置(RowId)之间的联系。通常索引提供了快速访问 ROWID 的方法,因此那些基于索引列的查询就可以得到性能上的提高。 3.3 选择最有效率的表名顺序(只在基于规则的优化器中有效) 3.4 WHERE 子句中的连接顺序 ORACLE 采用自下而上的顺序解析 WHERE 子句,根据这个原理,表之间的连接必须写在其他 WHERE 条件之前,那些可以过滤掉最大数量记录的条件必须写在 WHERE 子句的末尾。 3.5 SELECT 子句中避免使用 ‘\*’ 当你想在 SELECT 子句中列出所有的 COLUMN 时,使用动态 SQL 列引用 ‘\*’ 是一个方便的方法。但是不幸的是,这是一个非常低效的方法。实际上, ORACLE 在解析的过程中,会将‘\*’ 依次转换成所有的列名,这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间。 3.6 减少访问数据库的次数 当执行每条 SQL 语句时, ORACLE 在内部执行了许多工作:解析 SQL 语句,估算索引的利用率,绑定变量,读数据块等等。由此可见,减少访问数据库的次数,就能实际上减少 ORACLE 的工作量。 3.7 整合简单、无关联的数据库访问 如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系) 3.8 使用表的别名(Alias)
- 粉丝: 1w+
- 资源: 6万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助