java面试:数据库

Web后端数据库一般用mysql。

数据库基础

Q:数据库事务是什么?

多条sql语句,要么全部成功,要么全部失败。

Q:数据库事务有哪些特性?

数据库事务特性:原子性(Atomic)、一致性(Consistency)、隔离性(Isolation)、持久性(Durabiliy)。简称ACID。

原子性:组成一个事务的多个数据库操作是一个不可分割的原子单元,只有所有操作都成功,整个事务才会提交。任何一个操作失败,已经执行的任何操作都必须撤销,让数据库返回初始状态。

一致性:事务操作成功后,数据库所处的状态和它的业务规则是一致的。即数据不会被破坏。如A转账100元给B,不管操作是否成功,A和B的账户总额是不变的。

隔离性:在并发数据操作时,不同的事务拥有各自的数据空间,它们的操作不会对彼此产生干扰

持久性:一旦事务提交成功,事务中的所有操作都必须持久化到数据库中。

Q:数据库的隔离级别有哪些?

读未提交(read-uncommitted)读提交(read-committed) 可重复读(repeatable-read)串行化(serializable)。

Q:mysql默认的数据库隔离级别是什么?

可重复读(repeatable-read)

Q:不同的数据库隔离级别会导致哪些问题?

数据库中的数据可能同时被多个事务访问,如果没有采取必要的隔离措施,就会导致各种并发问题,破坏数据的完整性。

1.脏读:A事务读取B事务尚未提交的更改数据,并在这个数据的基础上进行操作。如果恰巧B事务回滚,那么A事务读取到的数据是根本不被承认的。

2.不可重复读:A事务读取了B事务已经提交的更改数据。

3.幻读:A事务读取了B事务已经提交的新增数据。

https://www.cnblogs.com/expiator/p/9626123.html

sql优化

Q:平常使用过哪些sql优化的手段?

原文地址:https://www.cnblogs.com/expiator/p/10241960.html

时间: 2024-08-27 07:31:26

java面试:数据库的相关文章

Java面试-数据库篇(二)

准备Java面试期间所见到的面试题和自己的整理归纳(仅供我个人学习使用的资料) 1. 主键 超键 候选键 外键 主    键: 数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合.一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null). 超    键: 在关系中能唯一标识元组的属性集称为关系模式的超键.一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键.超键包含候选键和主键. 候选键: 是最小超键,即没有冗余元素的超键. 外    键: 在一个表中存在

java面试④数据库部分

2.3.1 数据库的分类及常用的数据库 数据库分为:关系型数据库和非关系型数据库 关系数据库:mysql,oracle,sqlServer 非关系型:redis,mongoDB 2.3.2 简单介绍一下关系数据库三范式 范式就是规范,就是关系型数据库在设置表时,要遵循的三个规范. 要满足第二范式必须先满足第一范式,要满足第三范式必须先满足第二范式. 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体列中的某个属性不能有多个值或者不能有重复的属性,列数

java面试-数据库篇(三)

主要整理的关于JDBC问题常见的面试题 1.什么是JDBC,在什么时候会用到它? JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库. JDBC接口及相关类在java.sql包和javax.sql包里.我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果. JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单. 2.有哪些不同类型的JDBC驱动? 有四类JDBC驱动.和数据库

Java面试-数据库篇(一)

1.用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息. 1 employee: 2 3 eid,ename,salary,deptid; 4 5 select * from employeeorder by deptid desc,salary asc; 2.数据库三范式是什么? 第一范式(1NF):字段具有原子性,不可再分.所有关系型数据库系统都满足第一范式)数据库表中的字段都是单一属性的,不可再分. 例如,姓名字段,其中的姓和名必须作为一个整体,无法区分哪部分是姓,哪部分是名,如

Java面试准备十六:数据库——MySQL性能优化

这里只是为了记录,由于自身水平实在不怎么样,难免错误百出,有错的地方还望大家多多指出,谢谢. 来自MySQL性能优化的最佳20+经验 为查询缓存优化你的查询 EXPLAIN你的SELECT查询 当只要一行数据是使用LIMIT 1 为搜索字段建索引 在Join表的时候使用相当类型的列,并将其索引 千万不要ORDER BY RAND() 避免SELECT * 永远为每张表设置一个ID 使用ENUM而不是VARCHAR 从PROCEDURE ANALYSE() 取得建议 尽可能的使用NOT NULL

JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)

hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手. 第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好Hibernate. 比起两者的开发速度,不仅仅要考虑到两者的特性及性能,更要根据项目需求

java面试回忆录

本文地址:http://blog.csdn.net/sushengmiyan/article/details/28479895 作者:sushengmiyan ------------------------- 1.报文格式定义如下: 20字符长的姓名+1字符长的性别+3字符长的年龄 姓名长度不足20的右边补空格 性别中0表示男,1表示女 年龄不足3字符的左边补0 如: denny     0026 这一段报文解析后表示姓名为denny性别为男,年龄为26 数据库表结构如下: create ta

java面试梳理

自己整理的有关java面试过的问题,有错的请矫正. 1, Spring的核心思想 控制反转和面向切面的编程 2,Spring的核心模块 反向控制与依赖注入.Bean配置以及加载 3,Scope是什么 Scope就是IOC容器里给对象设置的场景或者说存活空间,如果对象不处于Scope的限定后,容器会销毁对象. 取值有5种  分别是singleton(单一模式),prototype(多少个请求就有多少个),request(请求完即销毁),session,globalsession. 4,hibern

Java面试技巧

[Java面试一]面试复习大纲. [Java面试二]Java基础知识精华部分. [Java面试三]JavaWeb基础知识总结. [Java面试四]Strust2总结及在面试中的一些问题. [Java面试五]Spring总结以及在面试中的一些问题. [Java面试六]SpringMVC总结以及在面试中的一些问题. [Java面试七]Mybatis总结以及在面试中的一些问题. [Java面试八]Hibernate总结以及在面试中的一些问题. [Java面试九]脚本语言知识总结. [Java面试十]浏

java面试总结(第二天)

临近大学毕业,出来试试找工作,学c#出身,半路出家java,做过几个ssh.stringMVC的项目.基础知识不太扎实,勿喷 以下是我面试过程中遇到的问题和我查到的相关见解 ------------------------------------------------------------------------------------------------------------------------------ 今天遇到的面试题大多是多线程,还有ssh的基础流程,下面是我觉得值得记忆