数据库经典面试问题大全.pdfVIP

  • 34
  • 0
  • 约2.59万字
  • 约 20页
  • 2024-01-07 发布于境外
  • 举报

⼆、数据库⾯试问题(全)

1、关系型数据库

MySQL

Oracle

==说出⼀些数据库优化⽅⾯的经验==

数据库优化⼤全

1、调整数据结构的设计:

考虑是否使⽤ORACLE数据库的分区功能,对于经常访问的数据库表是否需要建⽴索引等。

2、调整应⽤程序结构设计:考虑应⽤程序使⽤什么样的体系结构,是使⽤传统的

Client/Server两层体系结构,

还是使⽤Browser/Web/Database的三层体系结构。不同的应⽤程序体系结构要求的数据

库资源是不同的

3、调整数据库SQL语句。

4、调整服务器内存分配:内存分配是在信息系统运⾏过程中优化配置的,数据库管理员可以根

据数据库运⾏状况调整数据库系统

全局区(SGA区)的数据缓冲区、⽇志缓冲区和共享池的⼤⼩,也可调整程序全局区(PGA

区)的⼤⼩。

需要注意的是,SGA区不是越⼤越好,SGA区过⼤会占⽤操作系统使⽤的内存⽽引起虚拟内

存的⻚⾯交换,这样反⽽会降低系统。

5、调整硬盘I/O:数据库管理员可以将组成同⼀个表空间的数据⽂件放在不同的硬盘上,做到

硬盘之间I/O负载均衡。

6、调整操作系统参数:

例如:运⾏在UNIX操作系统上的ORACLE数据库,可以调整UNIX数据缓冲池的⼤⼩,每个进

程所能使⽤的内存⼤⼩等参数

==如何写出⾼性能的SQL语句?==

1.选择最优效率的表名顺序

2.Select⼦句中避免使⽤“*”

3.减少访问数据库的次数

4.整合简单,⽆关联的数据库访问

5.删除重复记录

6.⽤truncate语句代替delete

7.⽤where⼦句代替having⼦句

8.减少对表的查询

9.⽤内部函数和索引提⾼效率

explain出来的各种item的意义

1、select_type:表示查询中每个select⼦句的类型

2、type:表示MySQL在表中找到所需⾏的⽅式,⼜称“访问类型”

3、possible_keys:指出MySQL能使⽤哪个索引在表中找到⾏,查询涉及到的字段上若存在索引,

则该索引将被列出,但不⼀定被查询使⽤

4、key:显示MySQL在查询中实际使⽤的索引,若没有使⽤索引,显示为NULL

5、key_len:表示索引中使⽤的字节数,可通过该列计算查询中使⽤的索引的⻓度

6、ref:表示上述表的连接匹配条件,即哪些列或常量被⽤于查找索引列上的值

7、Extra:包含不适合在其他列中显示但⼗分重要的额外信息

profile的意义以及使⽤场景:

查询到SQL会执⾏多少时间,并看出CPU/Memory使⽤量,执⾏过程中Systemlock,Table

lock花多少时间等等

SQL语⾔共分为四⼤类:

数据查询语⾔DQL

数据操纵语⾔DML

数据定义语⾔DDL

数据控制语⾔DCL

2、数据库存储引擎

存储引擎说⽩了就是如何存储数据、如何为存储的数据建⽴索引和如何更新、查询数据等技术的

实现⽅法。

ISAM是什么?

ISAM简称为索引顺序访问⽅法。它是由IBM开发的,⽤于在磁带等辅助存储系统上存储和检

索数据。

==MyISAM==:这种引擎是mysql最早提供的。分为静态MyISAM、动态MyISAM和压缩MyISAM

三种:

==静态MyISAM==:

如果数据表中的各数据列的⻓度都是预先固定好的,服务器将⾃动选择这种表类型。

因为数据表中每⼀条记录所占⽤的空间都是⼀样的,所以这种表存取和更新的效率⾮常

当数据受损时,恢复⼯作也⽐较容

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档