mysql
marco__
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL的几个重要的缓冲区配置项
线程栈信息使用内存(thread_stack)主要用来存放每一个线程自身的标识信息,如线程id,线程运行时基本信息等等,我们可以通过 thread_stack 参数来设置为每一个线程栈分配多大的内存。排序使用内存(sort_buffer_size)MySQL 用此内存区域进行排序操作(filesort),完成客户端的排序请求。当我们设置的排序区缓存大小无法满足排序实际所需内存的时候,MySQL 会将数据写入磁盘文件来完成排序。由于磁盘和内存的读写性能完全不在一个数量级,所以sort_buf..转载 2020-08-11 17:46:05 · 1310 阅读 · 1 评论 -
高性能MySQL之Count统计查询
关于MySQL的count查询,很多人都会有疑问,同样在大表中执行 ,有些速度基本不耗时,有些又慢的要死。关于这些问题在《高性能MySQL》这本书中第6.7.1章节有如下相关解释: COUNT()聚合函数,以及如何优化使用了该函数的查询,很可能是MySQL中最容易被误解的前10个话题之一,在网上随便搜索一下就能看到很多错误的理解,可能比我们想象的多得多。在做优化之前,先来看看COUNT()函数的真正作用是什么。COUNT()的作用COUNT()是一个特殊的函数,有两种非常不同...转载 2020-08-11 10:06:56 · 1030 阅读 · 0 评论 -
MySQL排序原理与案例分析
前言 排序是数据库中的一个基本功能,MySQL也不例外。用户通过Order by语句即能达到将指定的结果集排序的目的,其实不仅仅是Order by语句,Group by语句,Distinct语句都会隐含使用排序。本文首先会简单介绍SQL如何利用索引避免排序代价,然后会介绍MySQL实现排序的内部原理,并介绍与排序相关的参数,最后会给出几个“奇怪”排序例子,来谈谈排序一致性问题,并说明产...转载 2020-05-07 19:28:54 · 312 阅读 · 0 评论 -
mysql中varchar能存多少汉字、数字,以及varchar(100)和varchar(10)的区别
看完这篇文章,你能搞清楚以下问题:1、varchar(100)和varchar(10)的区别在哪里?2、varchar能存多少汉字、数字?3、varchar的最大长度是多少呢?4、字符、字节、位,之间的关系?5、mysql字段类型存储需要多少字节?接下来请仔细看,整理不易啊。1、varchar(100)和varchar(10)的区别在哪里?一般初学会认为,二者占用的...转载 2020-04-13 17:58:15 · 6882 阅读 · 0 评论 -
为什么MySQL数据库索引选择使用B 树
为什么MySQL数据库索引选择使用B+树?在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小伙伴对数据结构中的树还是有些许模糊的,因此我们由浅入深一步步探讨树的演进过程,在一步步引出B树以及为什么MySQL数据库索引选择使用B+树!学过数据结构的一般对最基础的树都有所认识,因此我们就从与我们主题更为相近的二叉查找树开始。一、二叉查找树(1)二叉树简介:二叉查...转载 2019-10-24 10:43:07 · 266 阅读 · 0 评论 -
pt-query-digest安装使用
一、简介pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助分析结果...转载 2019-10-10 20:43:45 · 326 阅读 · 0 评论 -
mysql四种隔离级别和mvcc以及锁之间的关系
什么是事务的隔离级别隔离级别:理解隔离级别之前需要先了解事务的四个特性,分别是:A(Atomic):原子性是指数据库的事务是一个不可分割的工作单位,只有数据库事务都成功才算成功,任何一个SQL的失败,数据库状态都必须回退到事务开始前的状态C(Consistence):一致性是指事务将数据库的状态从一种状态转变为下一个一致的状态。在事务的开始和结束后,数据库的完整性约束都没有被破坏。...原创 2019-07-15 11:26:16 · 6043 阅读 · 1 评论 -
浅谈MySQL和Innodb
页的数据结构:数据页结构,页是innodb存储引擎管理数据的最小磁盘单位,而B-TREE节点就是实际存放表数据的节点,一个innodb页有七个部分组成:每一个页中包含了两对 header/trailer:内部的 Page Header/Page Directory 关心的是页的状态信息,而 Fil Header/Fil Trailer 关心的是记录页的头信息。在页的头部和尾部之间就...转载 2018-08-14 17:33:08 · 19247 阅读 · 4 评论 -
mysql高性能索引设计
索引是存储引擎用于快速找到记录的一种数据结构,这是索引的基本功能。可以把数据库的理解成一本书,而索引就是这本书的索引(每个章节在第几页),如果你知道你想查找的章节名称,就可以快速的通过索引找到这一章索引的页数,而在数据库中也类似,存储引擎会先在索引中找到对应的值(主键或者物理地址,不同的存储引擎存储的值不同),然后根据这个值找到对应的数据行。现在可以知道索引对于查找数据的重要性,一个设计合理的索引...原创 2018-05-18 18:30:30 · 202 阅读 · 0 评论 -
MySQL按照特定条件取分组后第一(N)条数据
通常情况下我们需要按照某个条件分组后取出最大或者最小的一(N)条数据,然而mysql默认会取出分组之前的某条数据第一次出现的位置,并不会取出最大或者最小的,例如test表中数据如下id | name value---|--------1 | a 1 2 | b 23 | c 24 | a 35 ...原创 2018-04-12 17:44:23 · 6070 阅读 · 0 评论
分享