c 网站开发技术,链友咨询,网站推广公司黄页,网页设计代码动漫10. 事务并发引发的问题#xff1f;【重点】
脏读#xff1a;事务A读取了事务B更新的数据#xff0c;然后B回滚操作#xff0c;那么A读取到的数据是脏数据。
不可重复读#xff1a;事务A多次读取同一数据#xff0c;事务B在事务A多次读取的过程中#xff0c;对数据作了…10. 事务并发引发的问题【重点】
脏读事务A读取了事务B更新的数据然后B回滚操作那么A读取到的数据是脏数据。
不可重复读事务A多次读取同一数据事务B在事务A多次读取的过程中对数据作了更新并提交导致事务A多次读取同一数据时先后两次读到的数据结果会不一致。
幻读事务A对一个表中所有的行的某个数据项做了从“1”修改为“2”的操作这时事务B又对这个表中插入了一行数据项而这个数据项的数值还是为“1”并且提交给数据库。而操作事务A的用户如果再查看刚刚修改的数据会发现还有一行没有修改其实这行是从事务B中添加的就好像产生幻觉一样这就是发生了幻读。
幻读和不可重复读都是读取了另一条已经提交的事务所不同的是不可重复读查询的都是同一个数据项而幻读针对的是一批数据整体比如数据的个数。
11. MyISAM与InnoDB两种存储引擎在事务、锁级别各自的适用场景?【了解】
事务处理上方面
MyISAM强调的是性能其执行数度比InnoDB更快但是不提供事务支持。
InnoDB提供事务支持外键等高级数据库功能。具有事务提交、回滚和崩溃修复能力的事务安全型引擎。
锁级别
MyISAM只支持表级锁用户在操作表时select、update、delete、insert语句都会给表自动加锁如果加锁以后的表满足insert并发的情况下可以在表的尾部插入新的数据。
InnoDB支持事务和行级锁是InnoDB的最大特色。行锁大幅度提高了多用户并发操作的性能。但是InnoDB的行锁只是在WHERE的主键是有效的非主键的WHERE都会锁全表的。
12. 非关系型数据库和关系型数据库区别优势比较【重点】
非关系型数据库的优势
性能NOSQL是基于键值对的可以想象成表中的主键和值的对应关系而且不需要经过SQL层的解析是内存型数据库所以性能非常高。
可扩展性同样也是因为基于键值对数据之间没有耦合性所以非常容易水平扩展。
关系型数据库的优势
复杂查询可以用SQL 语句方便的在一个表以及多个表之间做非常复杂的数据查询。
事务支持使得对于安全性能很高的数据访问要求得以实现。
13. 什么是内连接、外连接、交叉连结、笛卡尔积等【重点】
内连接: 只连接匹配的行
左外连接: 包含左边表的全部行不管右边的表中是否存在与它们匹配的行以及右边表中全部匹配的行
右外连接: 包含右边表的全部行不管左边的表中是否存在与它们匹配的行以及左边表中全部匹配的行
全外连接: 包含左、右两个表的全部行不管另外一边的表中是否存在与它们匹配的行
交叉连接: 生成笛卡尔积它不使用任何匹配或者选取条件而是直接将一个数据源中的每个行与另一个数据源的每个行都一一匹配。
14. SQL 语言分类【重点】
数据操纵语言DML
数据定义语言DDL
数据控制语言DCL。
15. count(*)、count(1)、count(column)的区别【了解】
COUNT(*)对行的数目进行计算包含NULL。
COUNT (COLUMN)对特定的列的值具有的行数进行计算不包含NULL 值。
COUNT ()还有一种使用方式COUNT (1)这个用法和COUNT (*)的结果是一样的。
16. 什么是索引【重点】
一种用于提升查询效率的数据库对象
通过快速定位数据的方法减少磁盘I/0操作
索引信息与表独立存放。
17. 索引的作用【重点】
协助快速查询、更新数据库表中数据。
为表设置索引要付出代价的
一是增加了数据库的存储空间
二是在插入和修改数据时要花费较多的时间因为索引也要随之变动。
18. 索引的优缺点【重点】
创建索引可以大大提高系统的性能优点
通过创建唯一性索引可以保证数据库表中每一行数据的唯一性。
可以大大加快数据的检索速度这也是创建索引的最主要的原因。
可以加速表和表之间的连接特别是在实现数据的参考完整性方面特别有意义。
在使用分组和排序子句进行数据检索时同样可以显著减少查询中分组和排序的时间。
通过使用索引可以在查询的过程中使用优化隐藏器提高系统的性能。
增加索引也有许多不利的方面缺点
创建索引和维护索引要耗费时间这种时间随着数据量的增加而增加。
索引需要占物理空间除了数据表占数据空间之外每一个索引还要占一定的物理空间如果要建立聚簇索引那么需要的空间就会更大。
当对表中的数据进行增加、删除和修改的时候索引也要动态的维护这样就降低了数据的维护速度。
19. 什么样的字段适合建索引【重点】
唯一、不为空、经常被查询的字段。