栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面试——MySql

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面试——MySql

数据库三范式是什么?
  • 第一范式:强调列的原子性——数据库的每一列都是不可分割的原子数据项。
  • 第二范式:要求实体属性完全依赖于主关键字——指不能存在仅依赖主关键字一部分的属性。
  • 第三范式:任何非主属性不依赖于其它非主属性。
ACID是什么?

原子性、一致性、隔离性、持久性

Atomicity: 一个事务从开始到结束,要么全完成要么全失败。若在执行过程中发生错误,会被恢复(RollBack)到事务开始前的状态,之前就像没发生过。
Consistency: 在事务开始的前后,数据库的完整性没有被破坏。指写入的资料必须完全符合所有的预设约束、触发器、级联回滚等。
Isolation: 在多个并发事务同时对其数据进行读写和修改时,能防止多个事务并发执行时由于交叉执行而导致的数据不一致。隔离级别分为:读未提交、读提交、可重复读、序列化。
Durability: 事务处理结束后,对数据的修改是永久的,即使系统故障也不会丢失。

内连接、左连接、右连接的区别?

内连接:inner join —— 将匹配的关联数据显示出来。
左连接:left join —— 左边的表全显示,右边的表只显示符合条件的数据。
右连接:right join —— 和左连接相反。

MySql的索引是怎么实现的?

索引是满足某种特定查找算法的数据结构,这些数据结构会以某种方式指向数据,以达到高效查找数据。
不同的数据引擎实现会有所不同,如今主流的数据库引擎的索引都是B+树实现的,其效率能达到二分法的性能,找到数据区域后就找到了完整的数据结构了。

描述下数据库的事务隔离

mysql的事务隔离是在MySQL.ini配置文件里的最后添加的:transcation-isolation=REPEATABLE-READ。

可用配置值:(读未提交、读提交、可重复读、序列化)

  • READ-UNCOMMITTED:最低隔离级别,事务未提交前可被其它事务读取。(会出现幻读、脏读、不可重复读)
  • READ-COMMITTED:一个事务提交后才能被其它事务读取。(会出现幻读、不可重复读)
  • REPEATABLE-READ:默认,保证多次读取同一数据时,其值与事务开始时的内容是一致的,禁止读取到别的事物未提交的数据(会出现幻读)
  • SERIALIZABLE:代价最高最可靠隔离级别,能防止幻读、脏读、不可重复读。

幻读:在同一事物内多次查询返回的结果集不一样。其他原因也可出现:当另一事物新增、删除或修改了第一个事物结果集里的数据,同一记录里的数据内容被修改了,所有的数据行的记录就会变多或变少。
脏读:一个事物能读取另一事物中未提交的数据。
不可重复读:在同一事物内多次读取同一数据。

char和varchar的区别?

char:固定长度类型
varchar:可变长度类型
从空间出发varchar合适,从效率出发char合适。

float和double的区别?

float:可存储8位的十进制数,内存中占4字节。
double:可存储16位的十进制数,内存中占8字节。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/895142.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号