java工程师认证考试考点:数据库服务区考点汇总
关于java认证考试,同学们知道数据库及服务器的知识点有哪些?下面跟yjbys小编一起来复习一下吧!
(一)服务器
1、web服务器nginx和apache的对比分析
①nginx相对于apache的优点:
轻量级,同样起web 服务,比apache 占用更少的内存及资源 ,抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能,高度模块化的设计,编写模块相对简单。
apache相对于nginx 的优点:A.rewrite ,比nginx 的rewrite 强大;B.动态页面,模块超多,基本想到的都可以找到;C.少bug ,nginx 的.bug 相对较多;D.超稳定.
一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache.
②作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多.
③Nginx 配置简洁,Apache 复杂。Nginx 静态处理性能比 Apache 高 3倍以上,Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用。Apache 的组件比 Nginx 多,现在 Nginx 才是Web 服务器的首选。
④最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程。
⑤nginx处理静态文件好,耗费内存少.但无疑apache仍然是目前的主流,有很多丰富的特性.所以还需要搭配着来.当然如果能确定nginx就适合需求,那么使用nginx会是更经济的方式。
⑥nginx处理动态请求是鸡肋,一般动态请求要apache去做,nginx只适合静态和反向。
⑦Nginx优于apache的主要两点:A.Nginx本身就是一个反向代理服务器 B.Nginx支持7层负载均衡;其他的当然,Nginx可能会比 apache支持更高的并发。
(二)数据库
1、数据库优化:
①方法:MySQL可以建分表,读写分离,建索引,一般经常更新的字段不适合建索引,建索引会降低数据非查询操作的效率。主键是一种特殊的索引。
②导致索引失效的情况:
A、如果条件中有or,即使其中有条件带索引也不会使用到。
B、对于多列索引,不是使用的第一部分,则不会使用索引。
C、like查询是以%开头,而不是以%结尾的。
D、如果索引列类型是字符串,一定要在条件中将数据使用引号引用起来,否则不使用索引。
E、如果mysql估计使用全表扫描要比使用索引快,则不使用索引。
2、MySQL引擎的种类和区别
①种类:MyISAM、InnoDB、MEMORY、MERGE、Archive、Blackhole、CSV、Federate、Merge、NDB集群引擎,第三方引擎:OLTP类引擎、面向列的存储引擎、社区存储引擎。
②区别:
A、MyISAM是MySQL5.1及之前的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。MyISAM表还支持3中不同的存储格式:
1 静态表
2 动态表
3 压缩表
B、InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。 InnoDB存储方式为两种:1 使用共享表空间存储 2 使用多表空间
C、MEMORY存储引擎使用存在内存中的内容来创建表。每个MEMORY表只实际对应一个磁盘文件。MEMORY类型的表访问非常得快,因为它的数据是放在内存中的,并且默认使用HASH索引。但是一旦服务关闭,表中的数据就会丢失掉。
D、MERGE存储引擎是一组MyISAM表的组合,这些MyISAM表必须结构完全相同。MERGE表本身没有数据,对MERGE类型的表进行查询、更新、删除的操作,就是对内部的MyISAM表进行的。
3、数据库事务
(1)四个特性:ACID,原子性,一致性,隔离性,持久性。
(2)四个隔离级别:
√: 可能出现 ×: 不会出现
脏读 | 不可重复读 | 幻读 | |
Read uncommitted | √ | √ | √ |
Read committed | × | √ | √ |
Repeatable read | × | × | √ |
Serializable | × | × | × |
【java工程师认证考试考点:数据库服务区考点汇总】相关文章: