![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库面试题
文章平均质量分 56
数据库面试题
不死鸟.亚历山大.狼崽子
太极计算机股份有限公司系统架构师,从事ios、.net、flex、java等开发
展开
-
mysql面试题:Mysql一致性视图是啥时候建立的
在 A 会话中,事务开启之后,立马先执行一条 SELECT 语句,然后再去 B 会话中做修改,修改完成后再回到 A 会话继续查询,此时发现 B 中的修改对 A 并不可见,这个结果也符合用户在另外一个事务中执行同条 SELECT 语句数次,结果总是相同的。从这个角度来说,第一小节的案例似乎也没有问题,因为我们在 A 会话中执行 SELECT 语句多次,查到的结果也都是相同的,sex 都是 女。但是我们疑惑的是明明 B 会话的事务后开启的,但是我们却在 A 会话中读取到了 B 的修改,这似乎不应该。原创 2023-08-15 17:20:48 · 361 阅读 · 0 评论 -
Oracle面试题:Oracle中truncate和delete的区别
如果DELETE不加WHERE子句, DELETE可以返回被删除的记录数,而TRUNCATE TABLE返回的是0。如果一个表中有自增字段,使用TRUNCATE TABLE和没有WHERE子句的DELETE删除所有记录后,这个自增字段将起始值恢复成1.如果你不想这样做的话,可以在DELETE语句中加上永真的WHERE,如WHERE 1或WHERE true。(5)Truncate 语句不能带 where 条件,意味着只能进行全部数据删除,而DELETE可带 where 条件进行局部删除数据。原创 2023-06-28 11:50:03 · 757 阅读 · 0 评论 -
mysql面试题:高度为3的B+树可以存放多少数据?
在Mysql中,B+树的每个节点都是一个数据页,数据页默认大小是16KB,非叶子节点存的是索引值以及页的偏移量,而叶子节点上存放的则是完整的每行记录。B+树是一颗多路平衡树,它的特点是通过减少非叶子节点的存储数据量以及增加树的分支数量,降低树的高度从而减少磁盘IO次数来提高数据检索性能。这个问题考察求职者对B+树存储特性的理解,求职者应该对B+树的基本原理和特点有一定的了解,并能够解释B+树的高度和存储容量之间的关系。同理,高度为3的B+树,就可以存放1170*1170*16=21902400条记录。转载 2024-03-27 00:15:53 · 94 阅读 · 0 评论 -
java面试题:MySQL中 regexp 和 like 性能比较
但是,当你面临的是简单的模式匹配需求时,LIKE不仅更易于理解和使用,而且如我们的测试所示,它往往能提供更快的响应时间。尽管REGEXP提供了更强大和灵活的匹配能力,它在处理复杂的模式匹配时是不可或缺的,但在我们的实验中,LIKE在执行效率方面展现出了明显的优势。然而,我们有时候会用regexp正则匹配目标值,通常,LIKE的性能可能稍微优于REGEXP,因为它不涉及解析和执行正则表达式的额外开销。经多轮测试,可以看到,like匹配需要大约0.45秒的时间,明显由于regexp的查询。转载 2024-06-01 11:13:58 · 66 阅读 · 0 评论 -
mysql面试题:创建索引时会不会锁表?
索引主要是用于提高数据检索速度的一种机制,通过索引数据库可以快速定位到目标数据的位置,而不需要遍历整个数据集,它就像书籍的目录部分,有它的存在,可以大大加速查询的效率。那么问题来了:在创建索引时一定会锁表吗?如果你看的是网上的一些资料,或者是通过 chatgpt,那么很可能得到的结果是这样的“是的,创建索引时是会锁表的。”,但这个回答是不正确的,为什么呢?因为在 MySQL 5.6 之前,创建索引时会锁表,所以,在早期 MySQL 版本中一定要在线上慎用,因为创建索引时会导致其他会话阻塞(select 查询转载 2024-06-06 16:13:48 · 30 阅读 · 0 评论 -
mysql面试题:为什么MySQL单表不能超过2000W条数据?
在MySQL数据库中,单表不能超过2000W(即2亿)条数据的限制是一项常见的规定,它引起了许多开发者和数据库管理员的关注。这个限制涉及到多个方面,包括存储引擎的限制、性能考虑以及数据库设计的最佳实践等。在本文中,我们将深入探讨这个问题,并解释为什么会有这样的限制。转载 2024-07-17 16:39:25 · 21 阅读 · 0 评论