数据库
文章平均质量分 50
sighting_info
这个作者很懒,什么都没留下…
展开
-
联合索引,范围查询后,后面的字段不走索引
是B+树的结构决定的。底层B+树叶子节点的键值是通过链表连接的,而组合索引是从左向右按照索引字段的顺序进行查找,只有当前一个索引列是确定值的时候,下一个索引列的值才是递增的状态,才能通过B+树遍历得到,而一旦前一个索引列是范围匹配,则之后的索引列的值不存在递增关系,那么就没办法通过B+树遍历得到。例如,以下联合索引。A>=2,B=4的查询过程。a=2时,B是有序的,a=3时,b是无序的,就不能继续向下查找了。必须在前一个是定值的情况下,才能继续向下查找。...原创 2021-11-04 21:00:14 · 2360 阅读 · 1 评论 -
临时表和内存表的区别?
引擎 是否可以重名 存储和是否持久化 从库是否可查询到 数据结构 内存表 Memory 不可 数据结构和数据分开存储,查询快一些,需要手动drop表 可建索引,可以查询,show tables可以看到表 不支持TEXT,Blob 临时...原创 2021-04-25 15:34:08 · 122 阅读 · 0 评论 -
Mysql-窗口函数
1.问题引出 经典排名问题:学生的成绩排名 组内排名排名问题:每个部门按业绩来排名topN问题:找出每个部门排名前N的员工进行奖励2.什么是窗口函数窗口函数,也叫OLAP函数(Online Anallytical Processing,联机分析处理),可以对数据库数据进行实时分析处理。窗口函数的基本语法如下:<窗口函数>over(partitionby<用于分组的列名>orderby&...原创 2020-10-16 11:26:11 · 159 阅读 · 0 评论 -
Mysql45讲学习笔记
以下内容来源于丁奇的mysql 45讲,重点需要理解的地方1. 查询sql的具体流程2. 更新语句的执行流程当有一条记录需要更新的时候,InnoDB 引擎就会先把记录写到 redo log(粉板)里面,并更新内存,这个时候更新就算完成了。同时,InnoDB 引擎会在适当的时候,将这个操作记录更新到磁盘里面,而这个更新往往是在系统比较空闲的时候做。redo log 的写入拆成了两个步骤:prepare 和 commit,这就是"两阶段提交"。为什么必须有“两阶段提交”呢?这是为了让两.原创 2021-03-02 10:00:23 · 571 阅读 · 0 评论 -
redis持久化
转载自:https://mp.weixin.qq.com/s/O_qDco6-Dasu3RomWIK_Ig写的太清楚了,存下来翻翻。1Redis 快照是最简单的 Redis 持久性模式。当满足特定条件时,它将生成数据集的时间点快照,例如,如果先前的快照是在2分钟前创建的,并且现在已经至少有100次新写入,则将创建一个新的快照。此条件可以由用户配置 Redis 实例来控制,也可以在运行时修改而无需重新启动服务器。快照作为包含整个数据集的单个.rdb文件生成。但我们知道,Redi...转载 2020-07-10 14:40:14 · 125 阅读 · 1 评论 -
六、数据库相关
1.数据库事务的几种粒度 事务是保证每一次操作都是可靠的,即使出现了异常,也不会破坏数据原子性(Atomicity): 事务要么全部完成,要么全部取消。 如果事务崩溃,状态回到事务之前(事务回滚)。 一致性(Consistency): 只有合法的数据(依照关系约束和函数约束)才能写入数据库。 持久性(Durability): 一旦事务提交,不管发生什么(崩溃或者出错),数据要保存...原创 2020-01-17 17:43:39 · 894 阅读 · 0 评论 -
关系数据库和Not only sql数据库
当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。非关系型数据库有 NoSql、Cloudant。nosql和关系型数据库比较?优点:1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。2)查询速度:nosql数据库将数据存储于缓存之...转载 2018-05-18 09:20:31 · 189 阅读 · 0 评论 -
MariaDB: 谁是更为正宗的MYSQL
随着Oracle买下Sun,MySQL也落入了关系型数据库王者之手。而早在2009年,考虑到Oracle的名声以及其入手之后闭源的可能性,MySQL之父的Michael便先行一步,以他女儿Maria的名字开始了MySQL的另外一个衍生版本:MariaDB。 Michael 的名声很好,很快追随者很快排满了八条街,主流的Linux发行商基本上都开始转而支持使用MariaDB以规避MySQL不确定性...转载 2018-05-18 09:14:14 · 275 阅读 · 0 评论