以下是最近学习MySQL的一些笔记,推荐一起阅读:MySQL逻辑架构介绍MySQL性能分析MySQL索引优化MySQL查询截取分析MySQL锁机制MySQL主从赋值MySQL性能分析MySQL Query OptimizerMySQL自带的优化器MySQL常见瓶颈CPU:CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据的时候I/O:磁盘I/O瓶颈发生在装入数据远大于内存容量的时候硬件性能
转载
2023-08-15 18:04:35
47阅读
对于工作中MySQL的数据量一旦达到300w左右就需要进行一些优化策略了,比如增加索引,参数调优,但是有的时候即便有索引SQL查询还是很慢,这个时候我们应该怎么去排查问题呢?到底是索引失效还是别的原因,如果是索引失效我们应该怎么排查索引失效的原因?如果不是索引失效,并且使用到了索引但SQL还是很慢那又应该如何排查?如何解决?下面我们先来看下大致的流程。观察MySQL是否存在周期性的卡顿或者请求量时
## MySQL 关键字以及保留字
关键字是在SQL中具有重要意义的单词。某些关键字,如
[`SELECT`](https://dev.mysql.com/doc/refman/8.0/en/select.html)
[`DELETE`](https://dev.mysql.com/doc/refman/8.0/en/delete.html)
[`BIGINT`](https://dev.mys
转载
2023-05-20 12:54:04
169阅读
目录引言一、数据库简介:二、SQL语句:三、MySQL常用函数:数学函数:日期函数:MySQL其他命令:四、Navicat快捷键: 引言暂时只想起来这些,有需要补充的或者文章内出现的错误欢迎指正(评论 or 私信)。请努力提升自己!划重点 点击下面连接,直接查看我的日常笔记,比csdn更新快,内容更丰富。不断更新完善的笔记一、数据库简介:1、数据库常见的概念: DB:数据库,存储数据的容器。 D
` 是 mysql 本身的关键字冲突。所有的数据库都有类似的设置,不过mysql用的是`而已。通常用来说明其中的内容是数据库名、表名、字段名,不是关键字。例如:select * from table_name where `key` = 'key_name';其中,key是mysql的关键字,列名如果是key的话,就需要用``转义一下。 扩展:字符串中需要使
转载
2023-06-01 00:20:21
442阅读
公众号:神经病集散中心
转载
2019-12-06 14:10:00
78阅读
2评论
mysql 的关键字(保留关键字。非保留关键字) 关键字 保留关键字/非保留关键字: 其中保留关键字:需要加反引号`` (``符号在1旁边哈!) (宝宝,要睁大眼睛看噢,符号是反引号``, 而不是 单引号’’) 非保留关键字: 可以直接使用噢! 保留/非保留 关键字:(查看mysql官网) http
原创
2022-05-28 00:13:06
2467阅读
MySQL执行计划Explain关键字详解环境说明 Centos版本: CentOS Linux release 7.7.1908 (Core) Linux连接工具:SecureCRT MySQL Version: 5.7.28 MySQL连接工具:Navicate 参考地址:https://dev.mysql.com/doc/refman/5.7/en/explain-output.htmlEx
网上很多文章都说exists的效率要高于in,其实不然。只能说不一定,exists和in各有各的使用场景,下面我们总结一下MySQL中exists和in的区别:in关键字select * from A where id in (select id from B)#等价于for select id from B:先执行;子查询 for select id from A where A.id = B.
转载
2023-07-11 22:05:37
18阅读
目录1.as和distinct关键字1.1 as关键字1.2 distinct关键字1.3 小结2.where条件查询3. 排序4.分页查询1.as和distinct关键字1.1 as关键字在使用SQL语句显示结果的时候,往往在屏幕显示的字段名并不具备良好的可读性,此时可以使用 as 给字段起一个别名。使用 as 给字段起别名mysql> select id as 序号,
转载
2023-07-04 15:01:26
154阅读
in关键字和exists关键字
in尽量用在内表小的地方,exists关键字用在外表小的地方。如果用not in,则内外表都全表扫描,无索引,效率低,可使用not exists,也可用连接优化。in关键字是把外表和内表做hash连接,先查询内表,再把内表的结果和外表匹配,对外表使用索引(外表效率高,可以用大表),而内表都需要查询,使用in关键字可以加快效率。exists关键字是对外表做loop循环
转载
2023-08-31 10:22:25
103阅读
前言上篇文章主要介绍了MySQL索引的原理和结构,其实MySQL的索引就是一颗B+Tree的数据结构,其本质就是通过不断缩小想要获取数据的范围来筛选出想要获取的结果,同时把随机事件变成了有序事件,这篇文章主要介绍explain关键字的使用和MySQL索引优化。EXPLAIN关键字的介绍1.MySQL中有专门负责优化SELECT语句的优化器模块,主要功能,通过计算分析系统中收集到统计信息,为客户端请
转载
2023-08-28 10:52:15
123阅读
explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。简单讲,它的作用就是分析查询性能。explain关键字的使用方法很简单,就是把它放在select查询语句的前面。mysql查看是否使用索引,简单的看type类型就可以。如果它是all,那说明这条查询语句遍历了所有的行,并没有使用到索引。比如:explain select * f
根据在工作开发过程中遇到的场景,我通过 student表、student_detail表 来进行讲解我所写的一条sql语句。LIKE关键字、IN关键字、子查询、Mybatis框架相互结合运用的案例。 student表SET FOREIGN_KEY_CHECKS=0;
-- --------
转载
2023-08-20 23:32:39
121阅读
Mysql 子查询使用测试数据:mysql> select * from test;
+----+--------+------+------+
| id | name | sex | age |
+----+--------+------+------+
| 1 | name1 | 女 | 15 |
| 2 | name1 | 女 | 15 |
| 4 |
转载
2023-07-10 22:31:04
102阅读
二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记 录,但是它所包含的字段可能是有多余的。 如果一个超关键字去掉其中任何
原创
2023-02-06 16:14:35
1131阅读
1、 用mysql存储过程增加100万条测试数据存储过程代码:#创建存储过程,数据库名test,表名student
create procedure myinst(n int)
begin
declare i int default 0;
set autocommit = 0;
repeat
set i = i +1;
insert into student(id,name) values(i,'
目录前言一、高级sql语句1、按关键字排序二、区间判断 ——且/或三、 distinct 查询不重复记录四、对结果进行分组五、限制结果条目——limit六、设置别名(alias ——>as)七、通配符八、子查询前言当我们对mysql数据库进行了查询后,除了基本查询,有时候更需要对查询的结果集进行再次处理。比如统计个数,对结果进行排序,只查看部分数据等等。一、高级sql语句
1. MySQL简单实现多字段模糊查询 - 范兵我所做的商城项目前些时提了新需求,要求前台搜索商品除了能通过商品名称搜索到以外,还可以通过别个信息搜索,比如:商品编号、详情内容描述等等,类似于全文搜索了。我首先想到的就是lucene,但是对代码这样的改动量就太大了。。。。目前线上版本如果做这种改动怕测试又出什么幺蛾子,如果又重新建表将这些信息另外存储起来又感觉好麻烦。。。于是就想想在sq
转载
2023-08-31 11:13:00
161阅读
MySQL数据库 (上)一、MySQL数据类型(数值类型、日期和时间类型、字符类型)1、数值类型注:BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表类型大小范围(有符号)范围(无符号)用途TINYINT1 字节(-128,127)(0,255)小整数值SMALLINT2 字节(-32 768,32 767)(0,65 535)大整数值MEDIUMINT3 字节
转载
2023-06-22 11:35:17
430阅读