MySQL面试题

1、四个特性及含义

四个基本要素(acid):原子性、一致性、隔离性、持久性
原子性(Actomicity):整个事务中的操作要么全完成,要么全部不完成,不能滞留在中间某个环节,事务在执行过程发生错误,会被回滚(Rollback)到事务开始前的状态,就像没执行过一样
一致性(Consistent):在事务开始和结束之后,数据库的完整性约束没有被破坏
隔离性(Isolation):使事务在给定的时间内执行的唯一操作,为了防止事务之间的混淆,必须串行化或序列化请求,使得在同一时间内仅有一个请求用于同一数据
持久性(Durable):在事务完成以后,该事务所对数据库所做的更改持久保存到数据库之中,并不会被回滚

2、drop、delete、truncate的区别

drop直接删掉表、truncate删除表中的数据,再插入数据自增长id又从1开始、delete删除表中的数据,可以加where语句
(1)delete语句删除表中的某一行。并同时将改行的删除操作作为事务记录在日志中,以便后续进行回滚;truncate则是一次性删除表中所有的数据并不会单独把操作记录日志保存,是不能恢复的
(2)表和索引所占的空间:truncate之后空间会恢复初始大小,delete操作不会减少表索引所占的空间,drop将释放所有的占用空间
(3)一般而言 drop>truncate>delete
(4)truncate和delete只删除数据,drop直接删除整个表
(5)在没有备份的情况下,慎用drop和truncate
(6)truncate速度快、效率高

3、索引

索引是数据库管理系统中一个排序的数据结构,已助快速查询、更新数据库表中数据,创建语句alter table tablename add index(id);
优点:
(1)创建唯一索引,可以保证每一行数据的唯一性
(2)大大加快检索速度
(3)加速表之间的连接
(4)使用分组和排序字句进行数据检索时,可以显著减少查询中分组和排序的时间
缺点:
(1)建立索引需要占用物理空间
(2)对表的数据进行增删改查时,索引也要动态维护,降低了数据的维护速度
(3)创建和维护索引耗费时间,时间随着数据量的增加而增加
不需要创建索引
(1)查询中很少使用或者是参考的列
(2)数据量很少的列
(3)对于那些定义text

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值