讲烂了的mysql,今天再给大家重温一下

mysql的2种方法安装和重温cmd黑窗口命令 总结:昨天一定是大脑能量供应不足了,才吊死在了一种方式安装数据库上。充分说明一个程序员大脑和身体的能量必须时刻保持充足,有一个清醒的头脑,一切bug,一切问题so easy.感谢今天早上的早晨,供应了能量,下一步就是实现调试了。问题点:最近新项目需要在本地装数据库,去官网下载了一个,结果环境变量没有问题了,但是报下面的错误。MySQL 服务正在启动 .MySQL 服务无法启动。服务没有报告任何错误... 阅读详情

mysql事务:

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

• 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。• 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。• 事务用来管理 insert,update,delete 语句一般来说,事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。• 原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。• 一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。• 隔离性:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。• 持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失

mysql索引:

MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。上面都在说使用索引的好处,但过多的使用索引将会造成滥用。因此索引也会有它的缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。建立索引会占用磁盘空间的索引文件。

索引的数据结构

上面讲了索引的基本原理,数据库的复杂性,以及操作系统的一些内容,目的就是让大家了解到,任何一种数据结构都不是凭空产生的,一定有它的背景和使用场景。那么,我们需要这些数据结构能够做什么呢?其实很简单,就是:每次查找数据的时候,把磁盘I/O次数限制在一个很小的数量级,最好是一个常量数量级。那么我们就想到,如果一个高度可控的多路搜索树,是否能够满足需求呢?在这样的背景下,B+树应运而生。

详解B+树

如上图,是一棵B+树。B+树的定义,童鞋可以自行百度,我们只说一些重点。图中浅蓝色的块,我们称之为一个磁盘,可以看到,每个磁盘块包含几个数据项(深蓝色)和指针(黄色)。如:磁盘块1包含数据17和数据35,包含指针P1,P2,P3,P1指向数据小于17的磁盘块,P2指向数据在17到35之间的数据所在磁盘块,P3指向数据大于35的数据所在的磁盘块。真实数据存在于叶子节点,即3,5,9,10,13,15,28,29,36,60,75,79,90,99 。非叶子节点不存储真实数据,只存储指引搜索方向的数据项,如17、35并不真实存在于数据表中。

B+树的查找过程

还是使用上面的B+树。假设,我们要查找数据项29,那么我们首先会把磁盘块1由磁盘加载到内存中,此时进行了一次I/O,在内存中用二分查找确定29在17和35之间,锁定磁盘块1的P2指针,内存计算时间由于非常短(对比于I/O)可以忽略不计,通过磁盘块1的P2指针的磁盘地址指向磁盘块3,由磁盘加载到内存,此时进行了第二次I/O,29在26和30之间,锁定磁盘块3的P2指针,通过指针加载磁盘块8到内存,此时进行了第三次I/O,同时内存中计算二分查找找到29,查询结束。这一过程,一共进行了3次I/O。在真实使用场景中,三层的B+树可以表示上百万的数据,如果上百万的数据查询只需要三次I/O,性能提高将会是巨大的。B+树就是一种索引数据结构,如果没有这样的索引,每个数据项发生一次I/O,那么成本将会大大提升。

B+树的性质

在上面的查找例子中,我们可以分析出一些B+树的性质:

1,I/O的次数取决于B+树的高度H,假设当前数据表的数据为N,每个磁盘块的数据项的数量是M,则有:H=log(M+1)N,当数据量N一定的情况下,M越大,H越小;而M=磁盘块大小/数据项大小,磁盘块大小也就是一个数据页的大小,是固定的,如果数据项占的空间越小,数据项的数量越多,树的高度也就越低。这也就是为什么每个数据项,即索引字段要尽量的小,比如int占4个字节,要比bigint的8个字节小一半。这也是为什么B+树要求把真实数据放在叶子节点内而不是内层节点内,一旦放到内层节点内,磁盘块的数据项会大幅度的下降,导致树层级的增高。当数据项为1时,B+树会退化成线性表。

2,B+树的数据项是复合性数据结构,比如(name,age,gender)的时候,B+树是按照从左到右的顺序来建立搜索树的,比如当(小张,22,女)这样的数据来检索的时候,B+树会优先比较name来确定下一步的搜索方向,如果name相同再依次比较age和gender,最后得到检索的数据。但是,当(22,女)这样没有name的数据来的时候,B+树就不知道下一步该查哪个节点,因为建立搜索树的时候,name就是第一个比较因子,必须根据name来搜索才知道下一步去哪里查询。比如,当(小张,男)这样的数据来检索时,B+树就可以根据name来指定搜索方向,但下一字段age缺失,所以只能把名字是“小张”的所有数据都找到,然后再匹配性别是“男”的数据了。这个是非常重要的一条性质,即索引的最左匹配特性。

索引的类型

在MySQL中,索引分为两大类:聚簇索引和非聚簇索引。聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引则不同;聚簇索引能够提高多行检索的速度,而非聚簇索引则对单行的检索速度很快。

在这两大类的索引类型下,还可以将索引分成四个小类:

1,普通索引:最基本的索引,没有任何限制,是我们大多数情况下使用到的索引。

2,唯一索引:与普通索引类型,不同的是唯一索引的列值必须唯一,但允许为空值。

3,全文索引:全文索引(FULLTEXT)仅可以适用于MyISAM引擎的数据表;作用于CHAR、VARCHAR、TEXT数据类型的列。

4,组合索引:将几个列作为一条索引进行检索,使用最左匹配原则。

建立索引的原则

我们回头来看一开始提到的慢查询,当我们了解完索引原理之后,对慢查询的优化应该有一些想法,这里我们先总结一下建立索引的一些原则:

1,最左前缀匹配原则。这是非常重要、非常重要、非常重要(重要的事情说三遍)的原则,MySQL会一直向右匹配直到遇到范围查询(>,<,BETWEEN,LIKE)就停止匹配,比如:a = 1 AND b = 2 AND c > 3 AND d = 4,如果建立 (a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引,则都可以用到,a,b,d的顺序可以任意调整。

2,等于(=)和in 可以乱序。比如,a = 1 AND b = 2 AND c = 3 建立(a,b,c)索引可以任意顺序,MySQL的查询优化器会帮你优化成索引可以识别的模式。

3,尽量选择区分度高的列作为索引,区分度的公式是 COUNT(DISTINCT col) / COUNT(*)。表示字段不重复的比率,比率越大我们扫描的记录数就越少,唯一键的区分度是1,而一些状态、性别字段可能在大数据面前区分度是0。可能有人会问,这个比率有什么经验么?使用场景不同,这个值也很难确定,一般需要JOIN的字段我们要求在0.1以上,即平均1条扫描10条记录。

4,索引列不能参与计算,尽量保持列“干净”。比如,FROM_UNIXTIME(create_time) = ‘2016-06-06’ 就不能使用索引,原因很简单,B+树中存储的都是数据表中的字段值,但是进行检索时,需要把所有元素都应用函数才能比较,显然这样的代价太大。所以语句要写成 :create_time = UNIX_TIMESTAMP(‘2016-06-06’)。

5,尽可能的扩展索引,不要新建立索引。比如表中已经有了a的索引,现在要加(a,b)的索引,那么只需要修改原来的索引即可。

6,单个多列组合索引和多个单列索引的检索查询效果不同,因为在执行SQL时,MySQL只能使用一个索引,会从多个单列索引中选择一个限制最为严格的索引。

根据上面这些原则,我们来修改开篇的慢查询:

SELECTcount(*) AS countFROM trade_bASe AS aWHEREa.trade_status = 7 AND a.create_time BETWEEN '2015-09-01' AND '2016-01-14' AND a.booking_source = '2'

根据这条SQL,应该建立的索引是:trade_status, booking_source,create_time的联合索引;其中,trade_status、booking_source的顺序可以颠倒,而且 create_time 的区间查询放到后面。这就是利用了索引的最左匹配原则。这一点和oracle刚好相反,oracle是从右到左

慢查询的优化步骤

1,查看运行效果,是否真的很慢,主要设置SQL_NO_CACHE。

2,WHERE条件单表查询,锁定最小返回记录表。这句话的意思是,把查询语句的WHERE都应用到表中返回的记录数最小的表开始查起,单表每个字段分别查询,看哪个字段的区分度最高

3,EXPLAIN查看执行计划,是否与1预期一致(从锁定记录较少的表开始查询)

4,ORDER BY LIMIT 形式的SQL语句,让排序的表优先查

5,多去了解业务的使用场景

6,加索引时,要参照建立索引的几大原则

7,观察结果,不符合预期,则重新从1开始分析。

索引的优化方法

1,何时使用聚簇索引或非聚簇索引:

2,索引不会包含有NULL值的列:只要列中包含有NULL值,都将不会被包含在索引中,组合索引中只要有一列有NULL值,那么这一列对于此条组合索引就是无效的。所以我们在数据库设计时,不要让索引字段的默认值为NULL。

3,使用短索引:假设,如果有一个数据类型为CHAR(255)的列,在前10个或20个字符内,绝大部分数据的值是唯一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省I/O操作。

4,索引列排序:MySQL查询只使用一个索引,因此如果WHERE子句中已经使用了索引的话,那么ORDER BY中的列是不会使用索引的。因此数据库默认排序可以符合要求的情况下,不要使用排序操作;尽量不要包含多个列的排序,如果需要,最好给这些列也创建组合索引。

5,LIKE语句操作:一般情况下,不建议使用LIKE操作;如果非使用不可,如何使用也是一个研究的课题。LIKE “%aaaaa%”不会使用索引,但是LIKE “aaa%”却可以使用索引。

6,不要在索引列上进行运算:在建立索引的原则中,提到了索引列不能进行运算,这里就不再赘述了。

最后,总结一下,其实任何数据库层面的优化,都抵不上应用系统的优化,同样是MySQL,Facebook/Google等等都可以支撑,所以且行且珍惜吧!


前段时间,有个大佬面上了某大厂,送给我一批学习资料,整理出来,就形成了以下文档(数据库方面),主要包括MySQL面试题、MySQL基础到高级到调优笔记、MySQL知识总结、MySQL性能调优与架构设计解析文档,已打包好

添加小助手VX:xuanwo008即可获取~

由于篇幅字数原因,在这只展示详细目录及内容的截图了,有需要的朋友可以添加小助手VX:xuanwo008即可获取~

 

本人非985/211,蚂蚁真的不是很在乎学历!今天重温一下面试全过程; 银十期间得蚂蚁面试机会(本人非985/211,蚂蚁真的不是很在乎学历!!!),有了一次社招机会,前后经历三关,受益匪浅,在此与各位朋友分享经历与心得。 蚂蚁金服Java研发一面(电话面,30分钟左右) 自我介绍,讲下最有难度的项目 对线程安全的理解 比如有一个局部变量i=1,两个线程同时执行,是否线程安全 比如再有一个共享变量,如何保证线程安全 说说ThreadLocal,底层如何实现 hashmap实现原理 volatile关键字,解决了什么问题 类加载机制 JVM内存分布/内存结构? 阅读详情

相关推荐

Mahout连接Mysql以及Mysql的基本操作

这两天又开始看Mahout了,前面看了下 HBase,也都是一些浅尝辄止,因为要面试一个公司,所以就什么都看下。 今天看到了用Mysql数据库的数据作为Mahout的输入文件,觉得很高深的样子,所以就试试; 先贴代码: package org.fansy.date902jdbc; import java.util.List; import org.apache.mahout.cf.tas

fansy1990的专栏 7886

MySQL简介——认识MySQL

MySQL简介——认识MySQL

1万+

多元相关性分析_PAST:最简便易用的统计学分析软件教程目录

欢迎来到PAST的世界!本教程并不是将PAST的所有功能均进行详细介绍,而只是挑选与生物、医学、微生物研究相关的统计学分析内容进行讲述。根据PAST内各项分析的标签分类,将该教程具体设置如下:PAST软件介绍PAST的基本信息数据的输入和修改数据的转换和标准化图像绘制 (Plot标签)点线图和直方图散点图条形图和箱须图饼图堆叠条形图三元相图气泡图单变量统计学分析 (Univariate标...

weixin_39605706的博客 3154

MySQL讲一讲

目录 前言 概述 1.mysql逻辑架构 1.1总体架构 1.2存储引擎类型 1.3存储引擎之间的区别 2.辅助存储管理(重点) 2.1存储器层次 2.2存储器层次间传输数据 2.3易失和非易失存储器 2.4磁盘结构 2.5磁盘存取特性 2.6 I/O开销的主导地位 2.7组织磁盘上的数据-定长记录 2.8 组织磁盘上的数据-变长记录 2.9 组织磁盘上的数据-不能...

shancoder的专栏 518

【STM32学习】(29)STM32实现595驱动三个数码管(标准库和HAL库实现)

我选用的单片机型号为:STM32F103系列 74LS595是一个串转并行输出的芯片,它能为单片机节省很多的IO口,应用场景广泛。 现要求三个数码管动态显示,常规设计都是并行实现,需要8个IO数据口,然后还需要3个IO片选数码管接口,这样大大占用了IO口,导致连接的外设变少。因此我们引入74LS595芯片。电路设计如下: 只需要三个共阴极数码管与三个595芯片级联即可完成,通过RCLK,SCK,SER三个IO即可完成对数码管的动态控制并显示。电路焊接的实物图如下: 要求完成功能:实现数.

XiaoCaiDaYong的博客 8262

私有化大模型部署:企业AI应用的核心架构

私有化大模型部署不是“一次性项目”,而是企业AI的“长期主义”投资——它需要企业投入时间、金钱和精力,但回报是数据安全、定制化能力、核心竞争力的提升。就像“自家厨房”一样,私有化大模型可能初期麻烦,但一旦搭建起来,就能为企业“做”出符合自己口味的“特色菜”,而这些“特色菜”,正是企业在激烈竞争中的“护城河”。愿你能构建属于自己的“AI大脑”,让技术真正赋能业务,让复杂变简单,让深奥变通透。附录:私有化大模型部署架构图(注:可根据企业需求调整,此为通用架构)

AI天才研究院 1020

2020-11-27邱岳的产品实战、MySQL45讲笔记

一、《邱岳的产品实战》快结尾了,回想起自己自己第一次了解产品经理这个职位,感觉好像是多余的,有了项目经理,还要啥产品经理。从前年真正接触产品经理,发现其实还是一个很重要的岗位,等到自己也开始做产品方面的工作,感觉产品经理是个很难的工作,学习完二爷的两个课程,感觉产品经理就不是一般人可以干好的事情,发展前途很好。产品经理本身并非局限于IT行业,毕竟是从宝洁诞生的,如果按广义的产品经理来说,这个职业的范围非常广,再从人类分工越来越细的趋势看,产品经理不可能与项目经理合并。因此产品经理未来发展前途是不错的。但想成

congratution的专栏 426

网络安全实战:从Wireshark到BurpSuite的抓包技巧解析

本文深入解析了Wireshark和BurpSuite在网络安全抓包中的实战技巧,从基础对比到高级过滤、核心模块应用及安全测试避坑指南。通过详细的操作步骤和案例分析,帮助读者掌握数据包抓取与分析的核心技能,提升网络安全防护能力。

weixin_29207533的博客 570

面试题:MySQL索引为什么用B+树?

面试题:MySQL索引为什么用B+树? 前言 讲到索引,第一反应肯定是能提高查询效率。例如书的目录,想要查找某一章节,会先从目录中定位。如果没有目录,那么就需要将所有内容都看一遍才能找到。 索引的设计对程序的性能至关重要,若索引太少,对查询性能受影响;而如果索引太多,则会影响增/改/删等的性能。 知识点 MySQL中一般支持以下几种常见的索引: B+树索引 全...

weixin_30340353的博客 183

投第一篇SCIE英文期刊(详细步骤)

一个投稿SCIE英文期刊的过程

weixin_48849679的博客 1万+

f_fs.c 初始化流程(进行中)

前言 之所以选择f_fs.c作为这系列的开始,因为usb在/driver/usb下面的内容实在太多太多,如果讲各种各样点会太分散了。所以决定切入点以实际使用为主,就是f_fs了,目前我了解这是做bulk裸传输使用的,具体的通信协议自己确定。 初始化部分 开始点从这个路径下说起, /drivers/usb/gadget/function/f_fs.c 然后f_fs.c第一个使用的是include/composite.h中的宏定义function #define DECLARE_USB_FUNCTION(_n

weixin_36406973的博客 1966

02.03 Day 15 - 重温 Day 6

大家好,我是 Snow Hide,作为《MySQL 实战》这个专栏的学员之一,这是我打卡的第 15 天,也是我第 65 次进行这种操作。 今天我重温了该专栏里一篇叫《事务到底是隔离的还是不隔离的?》的文章。 关键词总结:事务启动时机、MySQL 两个 “视图” 的概念、“快照” 在 MVCC 里是怎么工作的?(数据版本 row trx_id 的几种可能、对事务视图来说的数据版本)、更新逻辑(读提交...

纽雪澳诺加海美德的博客 569

AI原生应用中的数据治理:从采集到应用的完整方案

当AI从"辅助工具"进化为"应用核心"(如ChatGPT、智能驾驶系统),传统数据管理方式已无法满足需求:模型需要更精准的训练数据、业务需要更实时的决策支持、法规需要更严格的隐私保护。本文聚焦AI原生应用的数据全生命周期治理(从采集→清洗→标注→存储→应用→归档的完整链路),覆盖技术方案、工具选择和实践要点。本文将按"场景引入→核心概念→技术方案→实战案例→未来趋势"的逻辑展开,重点通过"奶茶店原料管理"类比,解释数据治理的关键环节;结合Python代码演示核心技术(如异常值检测、主动学习标注);

SuperAGI2025 882

Python入门:Python3 使用 mysql-connector 驱动操作 MySQL 数据库全面学习教程

Python入门:Python3 使用 mysql-connector 驱动操作 MySQL 数据库全面学习教程,本文详细介绍了使用mysql-connector驱动在Python中操作MySQL数据库的方法。首先讲解了该驱动的安装及验证步骤,包括MySQL 8.0版本的特殊配置;接着说明如何创建数据库连接,以及数据库的创建与查看操作;然后阐述了数据表的创建、查看、主键设置和删除方法;最后详细介绍了数据的插入、查询、排序、限制查询结果、删除和更新等操作,还提及了防止SQL注入的方法……

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 18万+

第4章--CANoe library开发 - 诊断功能

因为专栏要做的是汽车ECU自动化测试程序,测试的是ECU的诊断和刷新,因此就需要利用CANoe的接口,开发一些方便使用的诊断报文收发函数。

j187067046的博客 1396

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

图解对比MySQL索引为什么要用B+树

讲到索引,第一反应肯定是能提高查询效率。例如书的目录,想要查找某一章节,会先从目录中定位。如果没有目录,那么就需要将所有内容都看一遍才能找到。 索引的设计对程序的性能至关重要,若索引太少,对查询性能受影响;而如果索引太多,则会影响增/改/删等的性能。 知识点 MySQL中一般支持以下几种常见的索引: B+树索引 全文索引 哈希索引 我们今天重点来讲下B+树索引,以及为什么要用...

weixin_30715523的博客 277

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

重温传奇2:用OpenMir2在10分钟内搭建你的专属游戏服务器

还记得那个在网吧通宵刷怪、爆装备的热血年代吗?传奇2这款经典游戏承载了无数80后、90后的青春记忆。今天,我们要一起重温那段激情岁月,不过这次不是作为玩家,而是作为创造者——用OpenMir2这个开源项目,亲手搭建属于自己的传奇世界服务器! ## 为什么现在还要搭建传奇2服务器? 很多人可能会问,一款20多年前的游戏,为什么还有人在研究它的服务器搭建?其实答案很简单:**经典永不过时**。传奇

gitblog_00423的博客 140

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

02.02 Day 14 - 重温 Day 5

大家好,我是 Snow Hide,作为《MySQL 实战》这个专栏的学员之一,这是我打卡的第 14 天,也是我第 63 次进行这种操作。 今天我温习了该专栏里叫《全局锁和表锁 :给表加个字段怎么有这么多阻碍?》、《行锁功过:怎么减少行锁对性能的影响?》的文章。 关键词总结:锁分类、全局锁(加锁方法、应用场景、风险、建议使用 FTWRL 方式的两个原因)、表级锁(表级锁种类(表锁、元数据锁、MDL ...

纽雪澳诺加海美德的博客 357

03.05 Day 46 - 重温 Day 34-36

大家好,我是 Snow Hide,作为《MySQL 实战》这个专栏的学员之一,这是我打卡的第 46 天,也是我第 108 次进行这种操作。 今天我温习了该专栏里叫《MySQL是怎么保证主备一致的?》、《MySQL 是怎么保证高可用的?》、《备库为什么会延迟好几个小时?》的文章。 关键词总结:MySQL 主备的基本原理(将备库设置成只读的几个考虑、备主库维持的长连接事务日志同步完整过程)、binlo...

纽雪澳诺加海美德的博客 265

03.19 Day 60 - 重温 Day 50-54

大家好,我是 Snow Hide,作为《MySQL 实战》这个专栏的学员之一,这是我打卡的第 60 天,也是我第 122 次进行这种操作。 今天我温习了该专栏里叫《到底可不可以使用join?》、《join语句怎么优化?》、《什么时候会使用内部临时表?》、《insert语句的锁为什么这么多?》、《grant之后要跟着flush privileges吗?》、《为什么临时表可以重名?》的文章。 关键词总...

纽雪澳诺加海美德的博客 425

30分钟快速搭建开源传奇服务器:重温经典热血回忆

你是否还记得那些年通宵打怪、组队刷BOSS的热血青春?想不想和朋友们一起重温《热血传奇》的经典玩法?今天,我要为你介绍一个神奇的项目——OpenMir2开源传奇服务器,让你在30分钟内快速搭建专属的传奇世界! OpenMir2是一个基于C#开发的开源传奇服务器,完全兼容1.76版本客户端,支持多人游戏互动。无论你是游戏爱好者还是技术开发者,都能轻松搭建属于自己的传奇服务器,与好友一起重温那段激情

gitblog_00256的博客 210

02.06 Day 18 - 重温 Day 9

大家好,我是 Snow Hide,作为《MySQL 实战》这个专栏的学员之一,这是我打卡的第 18 天,也是我第 71 次进行这种操作。 今天我温习了该专栏里叫《为什么我只改一行的语句,锁这么多?》、《答疑文章(二):用动态的观点看加锁的文章》。 关键词总结:两个加锁原则、两个加锁优化、等值查询间隙锁、非唯一索引等值锁、主键索引范围锁、非唯一索引范围锁、唯一索引范围锁 bug、非唯一索引上存在 “...

纽雪澳诺加海美德的博客 272
上一篇: 设计模式(1)—什么是设计模式?设计模式的六大原则是什么?
下一篇: 纯CSS实现自定义单选框和复选框
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值