![](https://img-blog.csdnimg.cn/20200811130234957.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
文章平均质量分 78
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
觉悟不晚的程序员
这个作者很懒,什么都没留下…
展开
-
EF和Dapper的区别?
什么是ORM呢?EF和Dapper都是ORM框架。ORM的全称是Object Relational Mapping,即对象关系映射.EF和Dapper他们的共同作用,都是将关系型数据库中的表的数据,映射成为对象.这样,开发人员就可以把对数据库的操作转化为对这些对象的操作.因此他们共同目的就是:为了方便开发人员,以面向对象的思想来实现对数据库的操作.那他们又有什么优缺点呢?我们实际的软件开发过程中,应该如何选型呢?EF:重量级ORM的代表优点:面向对象的方式操作数据库. 能够.转载 2021-04-28 11:29:15 · 2500 阅读 · 0 评论 -
drop、truncate和delete的区别
前言(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATETABLE则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。(2)表和索引所占空间。当表被TRUNCATE后,这个表和索引所占用的空间会恢复到初始大小,DELETE操作不会减少表或索引所占用的空间。drop语句将...转载 2021-04-27 10:03:09 · 113 阅读 · 0 评论 -
MySQL性能优化(三):索引优化
索引原理如果一本新华字典假如没有目录,想要查找某个字,就不得不从第一页开始查找,一直找到最后一页(如果要找的字在最后一页),这个过程非常耗时,这种场景相当于数据库中的全表扫描的概念,也就是循环表中的每一条记录看看该记录是否满足条件,扫描次数为表的总记录数。新华字典中都会有目录都有查找方法(比如按拼音查找、按部首查找),假如按拼音查找,我们根据拼音就能瞬速定位到要找的汉字,而这个汉字后面还有这个汉字对应的页数,我们直接翻到该页就能找到,整个查找过程非常快,用时非常短。这个原理就是数据库中索引的原理。这转载 2020-12-09 13:49:34 · 128 阅读 · 0 评论 -
MySQL性能优化(二):优化数据库的设计
数据库设计数据库命名:数据库名的命名一般和项目的名称保持一致,不要随意的起名字。数据库编码: 尽量采用utf8mb4而不使用utf8。MySQL 的“utf8”实际上不是真正的UTF-8,真正的UTF-8是每个字符最多四个字节,而MySQL的“utf8”只支持每个字符最多三个字节。表的设计数据库表结构的设计是最基础也是最重要的,因为一旦数据库表设计完毕并投入使用,将来再进行修改就相对比较麻烦,特别数据量大时增加字段修改字段类型都比较麻烦,因此在进行数据库设计的时候一定要尽可能的考虑周到。.转载 2020-12-04 13:05:29 · 192 阅读 · 0 评论 -
MySQL企业性能优化一:多种优化 方式介绍
一:简介我们常见的数据库性能优化就是SQL语句优化,确实SQL优化是开发者接触到最多的也是最常有的优化手段。作为开发人员我们接触最多的也就是SQL语句的优化,SQL语句的优化除了调整SQL语句外更多的是通过添加索引来加速查询,表结构(合理设计字段、拆分字段到其它表、分表等)的优化也是我们优化的主要手段。SQL优化是我们学习的重点,我们将全面详细讲解以上SQL优化,但是SQL优化并不是数据库优化的全部,一般来说数据库性能优化可以通过以下几个方面来优化:硬件:傻子都知道你买个好服务器比你现在用的笔记.转载 2020-12-04 11:43:18 · 386 阅读 · 0 评论 -
MySQL中悲观锁和乐观锁到底是什么?
索引和锁是数据库中的两个核心知识点,隔离级别的实现都是通过锁来完成的按照锁颗粒对锁进行划分?锁用来对数据进行锁定,我们可以从锁定对象的粒度大小来对锁进行划分,分别为行锁、页锁和表锁。 行锁就是按照行的粒度对数据进行锁定。锁定力度小,发生锁冲突概率低,可以实现的并发度高,但是对于锁的开销比较大,加锁会比较慢,容易出现死锁情况。 页锁就是在页的粒度上进行锁定,锁定的数据资源比行锁要多,因为一个页中可以有多个行记录。当我们使用页锁的时候,会出现数据浪费的现象,但这样的浪费最多也就是一个页.转载 2020-12-04 11:15:18 · 187 阅读 · 0 评论 -
MySQL的四种事务隔离级别
本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了.转载 2020-12-03 11:32:07 · 64 阅读 · 0 评论 -
MySQL - 常见的三种数据库存储引擎
数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是插件式存储引擎。查看存储引擎:我们可以用SHOW ENGINES; 来查询数据库的存储引擎。MySQL给用户提供了许多不同的存储引擎。在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以.转载 2020-12-03 10:13:23 · 197 阅读 · 0 评论 -
MySQL数据库引擎详解
作为经常使用MySQL数据库的人,不得不对MySQL的数据库引擎有一定的了解,在之前我也是只会使用MySQL,但两次的面试中都被面试官问及项目用到的数据库引擎(血与泪),因此,有必要写一篇文章,好好总结一下MySQL的数据库引擎。1. 数据库引擎定义 数据库引擎是数据库用于存储、处理和保护数据的核心服务,不同的数据库引擎有其各自的特点,如存储机制、索引技巧、主键的处理、锁的粒度等特点便随着引擎的不同而变化。因此,针对自己项目特点选择合适的数据库引擎可以改善服务器端存储性能。 常见的M...转载 2020-12-03 10:08:36 · 336 阅读 · 0 评论 -
解决MySql登录 提示caching_sha2_password
背景用docker构建mysql容器后连接遇到以下问题登录提示caching_sha2_password问题解决方法解决方案:1.进入容器:docker exec -it 62349aa31687 /bin/bashmysql -u root -p查看身份验证类型mysql> use mysql;Database changedmysql> SELECT Host, User, plugin from user;±----------±-----------------±原创 2020-08-11 15:40:57 · 17053 阅读 · 7 评论 -
MySql新建数据库时字符集与排序规则说明
1.一般选择utf8.下面介绍一下utf8与utfmb4的区别。utf8mb4兼容utf8,且比utf8能表示更多的字符。至于什么时候用,看你的做什么项目了,unicode编码区从1 ~ 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是utf8mb4扩充区,什么时候需要存储那些字符,才用utf8mb4,否则会浪费空间。2.排序说明排序一般分为两种**:utf_bin和utf_general_ci**bin 是二进制, a 和 A 会别区别对待.例如你运行:select转载 2020-08-11 13:06:53 · 338 阅读 · 0 评论