Mysql知识储备
来源:互联网 发布:bluestacks mac 编辑:程序博客网 时间:2024/05/18 16:16
Q:什么是事务处理?
A:使用事务处理,通过确保成批的SQL操作要么完全执行,要么完全不执行,来维护数据库的完整性。(参考《SQL必知必会》)
Q:什么是事务?
A:事务由一条或多条SQL语句组成,每个语句相互依赖,不可分割。如果一条SQL语句执行出错,整个事务会ROLLBACK,数据库回复到执行之前的状态。
Q:事务有哪些性质?
A:1.原子性(Atomicity)------------事务是不可分割的单元,事务中的操作要么都执行,要么都不执行;
2.一致性(Consistency)------------一个事务执行前和执行后,数据库都处于一致性状态;
3.隔离性(Isolation)-----------多个事务并发时,事务之间是隔离的,相互之间不会影响;
4.持久性(Durability)-----------持久性意味着事务完成后,该事务对数据库所做的更改将持久保存下来,并不会回滚。
Q:说说Mysql中4中事务隔离级别?
A:1.未提交读(Read Uncommittied):最低的隔离级别
所有事务都可以看到其他未提交事务的执行结果;
2.提交后读(Read Committed):用户可以看到其他事务添加的新纪录,也就是说同一事务在不同时间的select操作得到的结果可能是不一样的;
3. 可重读(Repeated Read):这是mysql默认的隔离级别,它确保同一事务的多个实例并发读取数据时,会看到相同的数据,会产生幻读,比如事务A无法读取到已经提交的事务B对数据库的更改;
4.可串行化(Serializable):强制事务串行化,使之不发生冲突,最高级别的隔离,在事务A未提交前,事务B的更新无法写入数据库
Q:说说MyISAM 与 InnoDB的区别以及如何选择?
A:
MyISAM 不支持事务和外键,InnoDB支持,MyISAM强调的是性能;
当数据库需要大量的insert,update操作而select操作需求较小时,数据的完整性要求较高时选择InnoDB
当数据库主要以查询为主时,而update,insert操作相对少时,选择MyISAM,MyISAM的查询速率高于InnoDB
Q:什么是索引?
A:索引是用来排序数据以加快搜索和排序操作的速度。
- Mysql知识储备
- 知识储备
- 知识储备
- 知识储备:Java面试知识储备
- 知识储备1
- 邮箱产品知识储备
- 系统集成工程师--知识储备
- 驱动安装知识储备
- ORACLE ASM知识储备
- 多线程编程知识储备
- 短信储备知识
- 计算机网络知识储备总结
- Linux知识储备--硬盘
- Java知识学习储备
- 计算机网络知识储备总结
- Cocos知识储备
- 知识储备:HTTP协议
- 知识储备:socket详解
- vb.net 教程 2-1 流程控制:条件判断语句
- 函数内调用函数和递归
- 实现线程的3种方式
- C++复制构造函数、const相关总结
- 机器学习——Logisitc回归
- Mysql知识储备
- C++抽象编程——字符串(3)——<cctype>库在字符串中的应用
- Android MVC MVP MVVM 模式
- jvm动态代理原理
- leetcode141. Linked List Cycle
- iOS沙盒目录结构解析
- 设计模式(15)-策略模式
- 线程的消息机制
- stm32低功耗模式总结