摘要: MySQL索引实现 上一篇我们详细了解了B+树的实现原理(传送门)。我们知道,MySQL内部索引是由不同的引擎实现的,主要包含InnoDB和MyISAM这两种,并且这两种引擎中的索引都是使用b+树的结构来存储的。 InnoDB引擎中的索引 Innodb中有2种索引:主键索引(也叫聚集索引)、辅助索引 阅读全文
posted @ 2021-02-25 15:07 Hello-Brand 阅读(1375) 评论(3) 推荐(1) 编辑
摘要: 索引的定义 MySQL官方对索引的定义为:索引(Index)是协助MySQL高效获取数据的数据结构。 本质上,索引的目的是为了提高查询效率,通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是说,有了这种索引机制,我们可以总是用同一种查找方式来锁定数据。 可 阅读全文
posted @ 2021-02-18 15:15 Hello-Brand 阅读(1775) 评论(4) 推荐(3) 编辑
摘要: 概述 在C#9.0下,record是一个关键字,微软官方目前暂时将它翻译为记录类型。 传统面向对象的编程的核心思想是一个对象有着唯一标识,封装着随时可变的状态。C#也是一直这样设计和工作的。但是一些时候,你就非常需要刚好对立的方式。原来那种默认的方式往往会成为阻力,使得事情变得费时费力。如果你发现你 阅读全文
posted @ 2021-02-01 15:27 Hello-Brand 阅读(1243) 评论(1) 推荐(3) 编辑
摘要: 增强的模式匹配 C#9.0添加了几种新的模式。我们可以参阅模式匹配教程 ,来了解下面代码的上下文: 1 public static decimal CalculateToll(object vehicle) => 2 vehicle switch 3 { 4 ... 5 6 DeliveryTruc 阅读全文
posted @ 2021-01-30 18:13 Hello-Brand 阅读(195) 评论(0) 推荐(1) 编辑
摘要: 我们称之为顶级层序 用 C# 编写一个简单的程序需要大量的样板代码,引用,类、方法、结构体等: 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Console.WriteLine("Hello World!"); 6 7 } 8 阅读全文
posted @ 2021-01-30 17:58 Hello-Brand 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 背景 在以前的C#版本里面,如果需要定义一个不可修改的的类型的做法一般是:声明为readonly,并设置为只包含get访问器,不包含set访问器。如下: 1 public class PersonInfo 2 { 3 /// <summary> 4 /// 身份编号 5 /// </summary> 阅读全文
posted @ 2021-01-30 17:42 Hello-Brand 阅读(2192) 评论(1) 推荐(1) 编辑
摘要: 背景 1月22号晚上10点半,下班后愉快的坐在在回家的地铁上,心里想着周末的生活怎么安排。 突然电话响了起来,一看是我们的一个开发同学,顿时紧张了起来,本周的版本已经发布过了,这时候打电话一般来说是线上出问题了。 果然,沟通的情况是线上的一个查询数据的接口被疯狂的失去理智般的调用,这个操作直接导致线 阅读全文
posted @ 2021-01-27 16:00 Hello-Brand 阅读(2090) 评论(7) 推荐(5) 编辑
摘要: 背景 说到流程控制语句,我们在程序语法中用的比较多,比如C#的if..else...,while...,?: 等。同样的,在MySQL中,也有一些流程控制的语法,方便我们在写函数、存储过程的时候对逻辑进行控制和处理。 常见的过程式SQL语句可以用在存储过程或者函数体中。其中包括:IF函数、IF条件语 阅读全文
posted @ 2021-01-22 15:18 Hello-Brand 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 定义 我们经常会遇到这样的一种情况,需要对我们查询的结果进行遍历操作,并对遍历到的每一条数据进行处理,这时候就会使用到游标。 所以:游标(Cursor)是处理数据的一种存储在MySQL服务器上的数据库查询方法,为了查看或者处理结果集中的数据,提供了在结果集中一次一行遍历数据的能力。 游标主要用在循环 阅读全文
posted @ 2021-01-21 16:20 Hello-Brand 阅读(499) 评论(0) 推荐(1) 编辑
摘要: 定义 我们之前学习了MySQL的内置函数,传送门,非常丰富,满足了我们对数据操作的大部分需求。 但是如果有一些复杂的业务逻辑在数据库层面就可以完成,无需在程序层面完成的时候,这时候就可以写成MySQL自定义函数。 所以,函数是指 一组预编译好的sql语句集合,理解成批处理语句,类似于C# 中的方法, 阅读全文
posted @ 2021-01-20 15:20 Hello-Brand 阅读(2427) 评论(0) 推荐(0) 编辑