![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 59
MySQL
在路上288
这个作者很懒,什么都没留下…
展开
-
mysql查询结果中显示行号
【代码】mysql查询结果中显示行号。原创 2024-03-25 14:30:54 · 352 阅读 · 0 评论 -
MySQL日期类型及默认设置
目前只能使用timestamp 类型,且默认值设为 now() 或 current_timestamp() / CURRENT_TIMESTAMP。MySQL 的日期类型有5种分别是: date、time、year、datetime、timestamp。原创 2023-04-05 17:37:47 · 8232 阅读 · 3 评论 -
mysql查询为null或者空字符串
/** 用isnull判断是否为空:只有过滤条件 为null 的时候 ISNULL(exp) 函数的返回值为1 ,空串和有数据都为0 */查询test_id为 null 的所有数据(注意是 null),返回结果中 把 test_id 为空字符串的数据不会显示出来select * from test_table where isnull(test_id);判断test_id 为 null 的另一种写法select * from test_table where test_id is nu原创 2022-02-10 18:00:17 · 10046 阅读 · 0 评论 -
MySQL tree
B Tree 能够很好的利⽤操作系统和磁盘的交互特性, MySQL为了很好的利⽤磁盘的预读能⼒,将⻚⼤⼩设置为16K,即将⼀个节点(磁盘块)的⼤⼩设置为16K,⼀次IO将⼀个节点(16K)内容加载进内存。这⾥,假设关键字类型为int,即4字节,若每个关键字对应的数据区也为4字节,不考虑⼦节点引⽤的情况下,则上图中的每个节点⼤约能够存储(16 * 1000)/ 8 = 2000个关键字,共2001个路数。对于⼆叉树,三层⾼度,最多可以保存7个关键字,⽽对于这种有2001路的B树,三层⾼度能够搜索的关键字个数.原创 2021-10-06 11:30:16 · 287 阅读 · 0 评论 -
mysql 优化
MySQL常⻅瓶颈CPU:CPU在饱和的时候⼀般发⽣在数据装⼊内存或从磁盘上读取数据时候IO:磁盘I/O瓶颈发⽣在装⼊数据远⼤于内存容量的时候服务器硬件的性能瓶颈:top,free,iostat 和 vmstat来查看系统的性能状态性能下降SQL慢 执⾏时间⻓ 等待时间⻓ 原因分析查询语句写的烂索引失效(单值、复合)关联查询太多join(设计缺陷或不得已的需求)服务器调优及各个参数设置(缓冲、线程数等)MySQL常⻅性能分析⼿段在优化MySQL时,通常需要对数据库进⾏分析,常⻅的分析⼿段原创 2021-10-05 09:46:59 · 78 阅读 · 0 评论 -
MySQL 事务
MySQL 事务主要⽤于处理操作量⼤,复杂度⾼的数据。⽐如说,在⼈员管理系统中,你删除⼀个⼈员,你即需要删除⼈员的基本资料,也要删除和该⼈员相关的信息,如信箱,⽂章等等,这样,这些数据库操作语句就构成⼀个事务。ACID — 事务基本要素:事务是由⼀组SQL语句组成的逻辑处理单元,具有4个属性,通常简称为事务的ACID属性。A (Atomicity) 原⼦性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执⾏过程中发⽣错误,会被回滚(Rollback)到事务开始前的原创 2021-10-05 09:47:14 · 61 阅读 · 0 评论 -
MySQL索引
数据库索引的原理,为什么要⽤ B+树,为什么不⽤⼆叉树?为什么不⽤B 树?聚集索引与⾮聚集索引的区别?MYSQL官⽅对索引的定义为:索引(Index)是帮助MySQL⾼效获取数据的数据结构,所以说索引的本质是:数据结构。索引的⽬的在于提⾼查询效率,可以类⽐字典、 ⽕⻋站的⻋次表、图书的⽬录等 。 可以简单的理解为“排好序的快速查找数据结构”,数据本身之外,数据库还维护者⼀个满⾜特定查找算法的数据结构,这些数据结构以某种⽅式引⽤(指向)数据,这样就可以在这些数据结构上实现⾼级查找算法。这种数据结构,就是原创 2021-10-05 09:47:27 · 61 阅读 · 0 评论 -
MySQL主存同步
⾸先先了解mysql主从同步的原理MySQL 主从复制是基于主服务器在⼆进制⽇志跟踪所有对数据库的更改。因此,要进⾏复制,必须在主服务器上启⽤⼆进制⽇志。每个从服务器从主服务器接收已经记录到⽇志的数据。当⼀个从服务器连接到主服务器时,它通知主服务器从服务器⽇志中读取最后⼀个更新成功的位置。从服务器接收从那时发⽣起的任何更新,并在主机上执⾏相同的更新。然后封锁等待主服务器通知的更新。从服务器执⾏备份不会⼲扰主服务器,在备份过程中主服务器可以继续处理更新作者:过程:1.master提交完事务后,写⼊b原创 2021-10-05 09:47:39 · 121 阅读 · 0 评论 -
MySQL存储引擎
存储引擎是MySQL的组件,⽤于处理不同表类型的SQL操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定⽔平等功能,常⻅的存储引擎有InnoDB、MyISAM、Memory、NDB。InnoDB 现在是 MySQL 默认的存储引擎,⽀持事务、⾏级锁定和外键。-- 查看⽀持的存储引擎SHOW ENGINES; -- 查看默认存储引擎SHOW VARIABLES LIKE 'storage_engine';--查看具体某⼀个表所使⽤的存储引擎,这个默认存储引擎被修改了show create ta原创 2021-10-05 09:47:53 · 53 阅读 · 0 评论 -
MySQL语句执行流程
SQL语句执行流程连接器(验证⽤户身份,给予权限)查询缓存(存在缓存则直接返回,不存在则执⾏后续操作) MySQL将缓存存放在⼀个引⽤表(不要理解成table,可认为是类似于HashMap的数据结构),通过⼀个哈希值索引,这个哈希值通过查询本身、当前要查询的数据库、客户端协议版本号等⼀些可能影响结果的信息计算得来。所以两个查询在任何字符上的不同(例如:空格、注释),都会导致缓存不会命中。如果查询中包含任何⽤户⾃定义函数、存储函数、⽤户变量、临时表、MySQL库中的系统表,其查询结果都不会被缓存。⽐如函数原创 2021-10-05 09:48:08 · 107 阅读 · 0 评论 -
mysql中的limit小知识点
1、普通的分页查询SELECT … FROM … WHERE … ORDER BY … LIMIT n返回的数据条数和 n相等如:select * from student where id = 1 order by register_time desc limit 3;返回的是student表中的3条数据2、指定偏移量,即limit m,n如:select * from student where id = 1 order by register_time desc limit 1,3;原创 2021-06-10 15:30:38 · 267 阅读 · 0 评论