![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
文章平均质量分 84
BetterMan1999
充电沉淀中...
展开
-
如何编写快速高效的SQL查询(四)——优化特定类型的查询与样例
这一节,我们将介绍如何优化特定类型的查询。本节介绍的多数优化技巧都和特定的版本有关,所以对于未来MySQL的版本未必适用。毫无疑问,某一天优化器自己也会实现这里列出的部分或者全部优化技巧。原创 2023-05-29 14:42:30 · 681 阅读 · 0 评论 -
如何编写快速高效的SQL查询(三)——高性能索引策略与样例
是时候开始讨论使用索引了!正确地创建和使用索引是实现高性能查询的基础,现在我们一起来看看如何真正地发挥这些索引的优势。原创 2023-05-26 16:25:30 · 1403 阅读 · 0 评论 -
如何编写快速高效的SQL查询(二)——为什么查询速度会慢与优化数据访问样例
我们现在已经知道MySQL优化器帮我们做了什么了,在尝试编写快速的查询之前,需要清楚一点,真正重要的是响应时间。如果把查询看作一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间。如果要优化查询,实际上要优化其子任务,要么消除其中一些子任务,要么减少子任务的执行次数,要么让子任务运行得更快。原创 2023-05-25 11:44:17 · 917 阅读 · 0 评论 -
如何编写快速高效的SQL查询(一)——MySQL8.0优化器查询优化处理与样例
当希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,很多查询优化工作实际上就是遵循一些原则让优化器能够按照预想的合理的方式运行。原创 2023-05-24 18:00:46 · 719 阅读 · 0 评论 -
生产上的一次慢查询SQL优化
一次生产SQL优化记录,涉及MySQL优化器、索引选择、分页查询优化原创 2023-04-19 18:19:17 · 413 阅读 · 2 评论 -
MySQL学习笔记
一、索引B+ Tree 原理1. 数据结构B Tree 指的是 Balance Tree,也就是平衡树。平衡树是一颗查找树,并且所有叶子节点位于同一层。B+ Tree 是基于 B Tree 和叶子节点顺序访问指针进行实现,它具有 B Tree 的平衡性,并且通过顺序访问指针来提高区间查询的性能。在 B+ Tree 中,一个节点中的 key 从左到右非递减排列,如果某个指针的左右相邻 key 分别是 keyi 和 keyi+1,且不为 null,则该指针指向节点的所有 key 大于等于 keyi 且原创 2021-01-12 09:59:08 · 231 阅读 · 0 评论 -
物理分页与逻辑分页
一 概述1.物理分页物理分页依赖的是某一物理实体,这个物理实体就是数据库,比如MySQL数据库提供了limit关键字,Oracle的rownum。不同数据库使用不同关键字。程序员只需要编写带有limit关键字的SQL语句,数据库返回的就是分页结果。2.逻辑分页逻辑分页依赖的是程序员编写的代码,所有数据库都统一。数据库返回的不是分页结果,而是全部数据,然后再由程序员通过代码获取分页数据,常用的操作是一次性从数据库中查询出全部数据并存储到List集合中,因为List集合有序,再根据索引获取指定范围的原创 2021-01-06 17:14:13 · 284 阅读 · 0 评论 -
乐观锁与悲观锁
悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断原创 2020-11-30 15:56:43 · 108 阅读 · 0 评论 -
数据库原理学习笔记
事务ACID1. 原子性(Atomicity)事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。回滚可以用回滚日志(Undo Log)来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作即可。2. 一致性(Consistency)数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对同一个数据的读取结果都是相同的。3. 隔离性(Isolation)一个事务所做的修改在最终提交以前,对其它事务是不可见的。4. 持久性(Durabil原创 2020-11-28 16:47:18 · 244 阅读 · 0 评论 -
数据库课程设计 ——酒店管理系统
关于学习高级语言基础和数据库基础之后的一个小练习原创 2019-05-31 10:36:11 · 326571 阅读 · 240 评论 -
数据库索引的简单了解与使用
一、索引的概念、特点及类型 Q: 为什么使用索引? A: 在学生关系中查询学号为“BX15236”的学生,查询语句为: Select * From 学生 Where 学号=' BX15236' 实现该查询最基本的方式是遍历关系中全部元组,逐行比较 每个元组的学号值是否匹配where子句中的条件。 显然,这种查询方式极其耗时,并造成大量...原创 2019-04-24 21:47:29 · 1352 阅读 · 0 评论 -
SQL Server数据库原理实验报告(完)
实验内容实验一 熟悉数据库管理系统环境实验二 SQL定义语言实验三 使用SQL语言进行简单查询实验四 使用SQL语言进行复杂查询实验五 SQL常用数据更新操作实验六 综合应用实验一 熟悉数据库管理系统环境实验目的1、 熟悉并掌握SQL Server的基本使用环境;2、 掌握SQL Server环境下SQL定义语言的用法,能进行基本表的结构的定义、修改、删除,会建立与删除索引。...原创 2019-04-18 11:34:04 · 32891 阅读 · 3 评论 -
数据库关系模式的范式总结
关系范式1NF-5NF的总结与举例原创 2019-04-25 21:21:01 · 15201 阅读 · 9 评论