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

软件测试mysql面试题:SQL语句主要分为哪几类?

SQL语句主要分为哪几类?数据定义语言DDL(Data Ddefinition Language)CREATE,DROP,ALTER主要为以上操作 即对逻辑结构等有操作的,其中包括表结构,视图和索引。数据查询语言DQL(Data Query Language)SELECT这个较为好理解 即查询操作,以select关键字。各种简单查询,连接查询等 都属于DQL。数据操纵语言DML(Data Man....

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

软件测试mysql面试题:什么是存储过程?有哪些优缺点?

什么是存储过程?有哪些优缺点?存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。优点1)存储过程是预编译过的,执行效率高。2)存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。3)安全性高,执行存储过程需要有一定权限的用户。4)存储过程可以重复使....

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

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

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

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

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

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

文章 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面试题:mysql中int(10)和char(10)以及varchar(10)的区别?

mysql中int(10)和char(10)以及varchar(10)的区别?int(10)的10表示显示的数据的长度,不是存储数据的大小;chart(10)和varchar(10)的10表示存储数据的大小,即表示存储多少个字符。int(10) 10位的数据长度 9999999999,占32个字节,int型4位char(10) 10位固定字符串,不足补空格 最多10个字符varchar(10) ....

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

软件测试mysql面试题:FLOAT和DOUBLE的区别是什么?

FLOAT和DOUBLE的区别是什么?FLOAT类型数据可以存储至多8位十进制数,并在内存中占4字节。DOUBLE类型数据可以存储至多18位十进制数,并在内存中占8字节。

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

软件测试mysql面试题:六种关联查询?

六种关联查询?交叉连接(CROSS JOIN)内连接(INNER JOIN)外连接(LEFT JOIN\/RIGHT JOIN)联合查询(UNION与UNION ALL)全连接(FULL JOIN)交叉连接(CROSS JOIN)

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

软件测试mysql面试题:mysql中 in 和 exists 区别?

mysql中 in 和 exists 区别?mysql中的in语句是把外表和内表作hash 连接,而exists语句是对外表作loop循环,每次loop循环再对内表进行查询。一直大家都认为exists比in语句的效率要高,这种说法其实是不准确的。这个是要区分环境的。1.如果查询的两个表大小相当,那么用in和exists差别不大。2.如果两个表中一个较小,一个是大表,则子查询表大的用exists,....

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

产品推荐

数据库

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

+关注
相关镜像