数据库
文章平均质量分 59
搬砖的诗人Z
全栈工程师,侧重项目技术解决方案规划和开发
展开
-
数据库的视图详解
数据库的视图是一个虚拟表,它是通过执行存储的查询语句来生成的,而不是实际存储数据的表。增强数据一致性:通过视图,可以确保多个用户或应用程序访问相同的数据视图,从而提高了数据的一致性和可靠性。重用查询逻辑:通过创建视图,可以将常用的查询逻辑封装在一个可重用的视图中,从而减少了重复编写相同查询的工作量。重用查询逻辑:通过创建视图,可以将常用的查询逻辑封装在一个可重用的视图中,从而减少重复编写相同查询的工作量。数据一致性:通过视图,可以确保多个用户或应用程序访问相同的数据视图,从而提高数据的一致性和可靠性。原创 2024-04-13 08:53:32 · 423 阅读 · 0 评论 -
Redis专题 【Redis为什么这么快】
与传统数据库不同的是,Redis 的数据是保存在内存中的(内存数据库,支持持久化),因此读写速度非常快,被广泛应用于分布式缓存方向。它利用了操作系统提供的I/O多路复用机制,如epoll、kqueue等,通过单个线程来监听多个套接字上的事件,从而提高了系统的并发性能。:虽然Redis主要是基于内存存储的,但它也支持持久化机制,可以将内存中的数据定期或者根据条件持久化到磁盘上,以防止数据丢失。:Redis使用自定义的协议进行客户端和服务器之间的通信,这个协议非常简单且高效,可以减少通信的开销。原创 2024-04-04 09:53:54 · 702 阅读 · 0 评论 -
Mysql 高性能的sql优化方案和建议
优化MySQL的性能是一项复杂而关键的任务,它可以通过多种方式来实现。优化查询可以提高查询性能并减少数据库的资源消耗,但需要根据具体情况进行调整和优化。原创 2024-04-04 09:49:50 · 866 阅读 · 0 评论 -
数据库聚簇索引和非聚簇索引的区别
索引的叶子节点存储的是指向数据行的指针,而不是数据行本身。这意味着索引和数据的物理存储顺序是分开的,索引仅提供了一种查找数据行的途径,而不决定数据的实际存储顺序。换句话说,聚簇索引决定了数据的物理存储顺序,因此表中的数据行实际上是按照聚簇索引的顺序存储的。:适合经常需要单值查找或跳跃式访问的列,因为索引存储的是指向数据行的指针,可以快速定位到需要的数据行。:由于数据行的物理存储顺序和索引的顺序是一致的,因此插入、更新和删除操作可能需要重新组织数据行的存储顺序,这可能会导致性能损失。原创 2024-03-31 09:01:28 · 333 阅读 · 0 评论 -
数据库是怎么做到事务回滚的呢?
回滚操作:当事务发生错误或者用户显式地执行回滚操作时,数据库管理系统会根据事务日志中的Undo日志信息,逆向执行相应的撤销操作,将事务所做的修改全部撤销,恢复数据库到事务开始之前的状态。事务日志记录了事务的所有操作,在事务提交之前,将修改操作记录在日志中,以便在事务回滚时进行恢复。Undo Log记录了事务的“逆操作”,Redo Log记录了事务的“正向操作”,而Binlog记录了数据库的所有修改操作,它们分别用于支持事务的原子性和一致性、数据库系统的崩溃恢复以及数据库的备份和恢复等功能。原创 2024-03-27 10:19:06 · 863 阅读 · 0 评论 -
.NET高级面试指南专题二十四【一文搞懂数据库的触发器】
数据库触发器是一种特殊的数据库对象,它在数据库中的表上监视特定的事件(如插入、更新、删除等),并在这些事件发生时自动执行预定义的操作。触发器通常用于实施业务规则、数据完整性和一致性要求,以及记录日志和审计信息等场景。当users表的记录更新时,触发器会检查用户名或邮箱是否发生变化,如果发生变化,则将变更记录插入user_change_log表中。假设有一个简单的用户表users,我们希望在用户信息更新时记录变更日志。原创 2024-03-27 09:56:47 · 447 阅读 · 0 评论 -
B+ 树和B树有什么区别,数据库索引为什么用B+树
B+树也是一种平衡多路搜索树,与B树不同的是,B+树的非叶子节点只包含子节点的索引信息,而不包含数据。B树的特点是每个节点都包含数据,而不仅仅是叶子节点。B+树更适合范围查询,因为在B+树中范围查询只需要遍历叶子节点上的链表即可,而在B树中可能需要进行多次跳转。由于B+树的所有关键字都在叶子节点上,查询时只需要遍历叶子节点,因此查询效率更稳定,且具有更好的局部性。B树在查找时可能需要在内部节点和叶子节点之间进行多次跳转,因此其查询效率相对于B+树可能会有些许下降。原创 2024-03-25 10:01:25 · 660 阅读 · 0 评论 -
.NET高级面试指南专题二十三【 B+ 树作为索引有什么优势】
高效的查询性能:B+ 树是一种平衡树结构,具有良好的平衡性和高度平衡的性质,这使得在 B+ 树上进行数据查找操作的时间复杂度为 O(log n),其中 n 是索引中存储的数据量。因此,B+ 树能够快速地定位到需要查询的数据行,提高了查询性能。原创 2024-03-25 09:56:52 · 386 阅读 · 0 评论 -
.NET高级面试指南专题二十二【 数据库索引】
索引的原理是通过在数据库表的列上创建一个有序的数据结构,通常是 B 树或 B+ 树,使得数据库引擎可以更快地定位和访问数据行。数据库索引是一种数据结构,用于提高数据库查询效率。它们类似于书籍的目录,能够快速指引数据库引擎去查找特定的数据行。应根据实际查询需求和数据分布情况选择合适的列创建索引,避免过度索引和不必要的索引。如果查询条件不是索引列或者不满足索引列的前缀条件,数据库引擎可能无法使用索引。原创 2024-03-24 11:19:01 · 647 阅读 · 0 评论 -
.NET高级面试指南专题二十一【 数据库隔离级别】
不同的隔离级别提供了不同程度的数据一致性和并发控制,开发人员应根据应用场景的需求选择合适的隔离级别。)特性中的隔离性部分来定义和衡量。常见的数据库隔离级别包括读未提交、读提交、可重复读和串行化。是指在多个并发事务同时访问数据库时,数据库管理系统确保事务之间数据隔离和一致性的级别。大多数数据库管理系统都支持以上四种隔离级别,并且可以通过配置进行调整。隔离级别越高,数据一致性越好,但并发性能可能会受到影响。数据库隔离级别通常由。原创 2024-03-22 09:53:33 · 252 阅读 · 0 评论 -
.NET高级面试指南专题二十【 一文详解数据库锁】
乐观锁的思想是假设并发冲突很少发生,不会立即对数据加锁,而是在数据更新时检查数据是否被其他事务修改过,如果没有则进行更新,如果有则放弃更新或者进行重试。悲观锁的思想是在访问数据之前,先获取锁来确保数据的独占性,认为并发访问可能导致数据冲突,因此采取悲观的态度,始终认为会发生并发冲突。在更新数据时,先读取当前数据的值和版本号,然后比较新的数据值和版本号是否和读取时一致,如果一致则更新数据,否则认为发生了并发冲突。是一种用于管理并发访问数据库资源的技术,通过控制数据的访问权限,确保数据的一致性和完整性。原创 2024-03-21 10:10:53 · 1544 阅读 · 0 评论