文章 2022-10-17 来自:开发者社区

软件测试mysql面试题:事物的四大特性(ACID)介绍一下?

事物的四大特性(ACID)介绍一下? 1.原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;2.一致性:执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是相同的;3.隔离性: 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;4.持久性:一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库....

文章 2022-10-17 来自:开发者社区

软件测试mysql面试题:数据库的乐观锁和悲观锁是什么?怎么实现的?

数据库的乐观锁和悲观锁是什么?怎么实现的?数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。在查询完数据的时候就把事务锁起来,直到提交事务。实现方式:使用数据库中的锁机制乐观锁:....

文章 2022-10-17 来自:开发者社区

软件测试mysql面试题:什么是数据库事务?

 什么是数据库事务?事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出....

文章 2022-10-17 来自:开发者社区

软件测试mysql面试题:什么是死锁?怎么解决?

什么是死锁?怎么解决?死锁是指两个或多个事务在同一资源上相互占用,并请求锁定对方的资源,从而导致恶性循环的现象。常见的解决死锁的方法1、如果不同程序会并发存取多个表,尽量约定以相同的顺序访问表,可以大大降低死锁机会。2、在同一个事务中,尽可能做到一次锁定所需要的所有资源,减少死锁产生概率;3、对于非常容易产生死锁的业务部分,可以尝试使用升级锁定颗粒度,通过表级锁定来减少死锁产生的概率;如果业务处....

文章 2022-10-17 来自:开发者社区

软件测试mysql面试题:Hash索引和B+树所有有什么区别或者说优劣呢?

Hash索引和B+树所有有什么区别或者说优劣呢?B树只适合随机检索,而B 树同时支持随机检索和顺序检索;B树空间利用率更高,可减少I/O次数,磁盘读写代价更低。一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上。这样的话,索引查找过程中就要产生磁盘I/O消耗。B树的内部结点并没有指向关键字具体信息的指针,只是作为索引使用,其内部结点比B树小,盘块能容纳的结....

文章 2022-10-17 来自:开发者社区

软件测试mysql面试题:使用索引查询一定能提高查询的性能吗?为什么

使用索引查询一定能提高查询的性能吗?为什么通常,通过索引查询数据比全表扫描要快。但是我们也必须注意到它的代价。索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时,索引本身也会被修改。 这意味着每条记录的INSERT,DELETE,UPDATE将为此多付出4,5 次的磁盘I/O。 因为索引需要额外的存储空间和处理,那些不必要的索引反而会使查询反应时间变慢。使用索引查询不一定....

文章 2022-10-17 来自:开发者社区

软件测试mysql面试题:使用B+树的好处?

使用B+树的好处?由于B树的内部节点只存放键,不存放值,因此,一次读取,可以在内存业中获取更多的键,有利于更快地缩小查找范围。 B树的叶节点由一条链相连,因此,当需要进行一次全数据遍历的时候,B树只需要使用O(logN)时间找到最小的一个节点,然后通过链进行O(N)的顺序遍历即可。而B书则需要对书的每一层进行遍历,这会需要更多的内存置换次数,因此也就需要花费更多的时间

文章 2022-10-17 来自:开发者社区

软件测试mysql面试题:什么是最左前缀原则?什么是最左匹配原则?

什么是最左前缀原则?什么是最左匹配原则?顾名思义,就是最左优先,在创建多列索引时,要根据业务需求,where子句中使用最频繁的一列放在最左边。最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(between、like)就停止匹配,比如a = 1 and b = 2 and c 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,....

文章 2022-10-17 来自:开发者社区

软件测试mysql面试题:Myql中的事务回滚机制概述

Myql中的事务回滚机制概述事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,事务回滚是指将该事务已经完成的对数据库的更新操作撤销。要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修改完,可能第二个表修改过程中出现了异常而没能修改,此时就只有第二个表依旧是未修改之前的状态,而第一个表已经被修改完毕。而当你把它们设定为一个事务的时候,当第....

文章 2022-10-17 来自:开发者社区

软件测试mysql面试题:什么情况下不宜建立索引?

什么情况下不宜建立索引?对于查询中很少涉及的列或者重复值比较多的列,不宜建立索引。  对于一些特殊的数据类型,不宜建立索引,比如文本字段(text)等

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

数据库

数据库领域前沿技术分享与交流

+关注
相关镜像
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问