-
基本上就这么多,大体意思就是这样的!
!
!<
/p>
!
!
!
!
!
!
!
!
!
数据库题
:
1.
有三个小题是让写
sql
语句查询;
2.
现在要对一
个学生对象进行管理,
对选课进行管理,
对课程的管理,
请画出与数据库对应的
UML
图或
ER
图?
3.
数据库中为什么要建立索引,建立索引有什么优点和缺点?
4.
什么是事务,有什么属性?
事务是指作为单个逻辑工作单元执行的一系列操作
原子性
一致性
隔离性
持久性
5.
数据库中怎么优化
SQL
语句?
sql
尽量避免多次查询
1) IS NULL
和
IS NOT
NULL
如果某列存在
NULL
值<
/p>
,即使对该列建立索引也不会提高性能。
2)
为不同的工作编写不同的
SQL
语句块
为完成不同的工作编写一大块
SQL
程序不是好方法。它往往导致每
个任务的结果不优化。若
要
SQL
完成不同的工作,一般
应编写
不同
的语句块
比编写一个要好。
3) IN
和
EXISTS
Select
name
from
employee
where
name
not
in
(select
name
from
student);
Select name from
employee where not exists (select name from
student);
第一句
SQL
语
句的执行效率不如第二句。
通过使用
EXISTS
,
Oracle
会首先检
查主查询,然后运行子查询
直到它找到第一个匹配项,这就节省了时间。
Oracle
在执行
IN
子查
询时,
首先执行子查询,
并将获得的结
果列表存放在一个加了索引的
临时表中。在执行子查询之前,系统先将主查询挂起,待子
查询执行
完毕,存放在临时表中以后再执行主查询。这也就是使用
EXISTS
比
使用
IN
通常查询速度快
的原因。
4) NOT
运算符
Select * from employee where
salary<>1000;
Select * from employee
where salary<1000 or salary>1000;
第一句
p>
SQL
语句的执行效率不如第二句,因为第二句
SQL
语句可以
使用索引。
5) Order By
语句
Order By
语句的执行效率很低,
因为它要排序。
应避免在
Order By
字
句中使用表达式。
6)
列的连接
select * from employee where
name||department=’ZYZBIOINFO’;
select * from employee where name=’ZYZ’
and department=’BIOINFO’;
这两
个查询,第二句比第一句会快,因为对于有连接运算符
’||’
的查
询
,Oracle
优化器是不会使
用索引的。
7)
通配符
‘
%
’
当通配符出现在搜索
词首时,
Oracle
优化器不使用索引
Select * from employee where name
like ‘%Z%’;
Select * from
employee where name like ‘Z%’;
第二句的执行效率会比第一句快,但查询结果集可能会不同。
8)
应尽量避免混合类型的表达式
<
/p>
假设字段
studentno
为
V
ARCHAR2
类型
有语句
select * from student
where studentno>123;
则
Oracle
会有一个隐含的类型转换。
隐含的类型转换可能会使
Oracle
优化器忽略索引。
这
时
应
使
用
显
式
的
类
型
转
换
se
lect
*
from
student
where
stu
dentno=to_char(123)
。
9)
.
DISTINCT
DISTINCT
总是建立一个排序,所以查询速度也慢。
编程方面:
1.
判断下列程序运行结果:
public class Test {
public static void main(String args[]){
String s=new
String(
getString(s);
(s);
}
public static void getString (String
s){
s+=
}
-
-
-
-
-
-
-
-
-
上一篇:人教版八年级英语下册unit 4教案
下一篇:JAVA习题集