随笔分类 -  Mysql

1
摘要:在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处理这些需求,如Mysql字符串截取总结:left()、right()、substring()、substring_index()。 一.从左开 阅读全文
posted @ 2022-01-07 08:50 pebblecome 阅读(213) 评论(0) 推荐(0)
摘要:前一阵子生产环境出现了接口响应慢的问题,最终定位是由于一条慢 SQL 导致的。分析了一下这条慢 SQL,发现对应数据库表也加了索引,最终结论是某些场景下索引失效了。 索引失效导致全表扫描,执行速度非常慢,导致大量的 SQL 处于阻塞状态。 为方便演示,我们提前先建立一张数据库表。新建一个用户表,id 阅读全文
posted @ 2021-12-13 09:52 pebblecome 阅读(253) 评论(0) 推荐(0)
摘要:如何保证缓存和数据库一致性,这是一个老生常谈的话题了。 但很多人对这个问题,依旧有很多疑惑: 到底是更新缓存还是删缓存? 到底选择先更新数据库,再删除缓存,还是先删除缓存,再更新数据库? 为什么要引入消息队列保证一致性? 延迟双删会有什么问题?到底要不要用? ... 这篇文章,我们就来把这些问题讲清 阅读全文
posted @ 2021-12-08 09:01 pebblecome 阅读(98) 评论(0) 推荐(0)
摘要:前言 sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。 如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。 那么,如何优化sql语句呢? 这篇文章从15个方面,分享了sq 阅读全文
posted @ 2021-11-25 11:38 pebblecome 阅读(116) 评论(0) 推荐(0)
摘要:01 三大范式? 第一范式:字段具有原子性,不可再分(字段单一职责) 第二范式:满足第一范式,每行应该被唯一区分,加一列存放每行的唯一标识符,称为主键(都要依赖主键) 第三范式:满足一二范式,且一个表不能包含其他表已存在的非主键信息(不间接依赖-不存在其他表的非主键信息) 范式优点与缺点: 优点:范 阅读全文
posted @ 2021-09-24 09:08 pebblecome 阅读(91) 评论(0) 推荐(0)
摘要:Too many connections 要点: ERROR 1040 (08004): Too many connectionsMYSQL必读 解决办法,这也是centos7下修改mysql连接数的做法: 1)临时修改 MariaDB [(none)]> show variables like " 阅读全文
posted @ 2021-06-12 22:20 pebblecome 阅读(278) 评论(0) 推荐(0)
摘要:一、下载mysql 1. 在浏览器里打开mysql的官网http://www.mysql.com/ 2. 进入页面顶部的"Downloads" 3. 打开页面底部的“Community(GPL) Downloads” 4. 在页面中间的位置找到我们windows上要用的下载页面“MySQL on W 阅读全文
posted @ 2021-06-03 14:27 pebblecome 阅读(79) 评论(0) 推荐(0)
摘要:MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。 为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引。 MySQL官方对索引的定义为:索引(Inde 阅读全文
posted @ 2021-05-26 22:36 pebblecome 阅读(1894) 评论(0) 推荐(0)
摘要:事务ACID特性,其中I代表隔离性(Isolation)。 什么是事务的隔离性? 隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。 一个事务怎么会干扰其他事务呢? 咱们举例子来说明,假设有InnoDB表: t(id PK, na 阅读全文
posted @ 2021-05-11 10:17 pebblecome 阅读(370) 评论(0) 推荐(0)
摘要:MySQL 对于主键索引的维护是最简单的,就是根据主键去维护一个 B+ 树,因为主键的特点一般是递增的,也就是说是有序的,所以 MySQL 在维护的时候只需要将记录依次往数据页中追加即可,数据页满了就继续添加到下一个数据页。且每一条记录是完整的,即所有的列的值都维护。 但是对于非主键索引,在维护 B 阅读全文
posted @ 2021-05-06 17:55 pebblecome 阅读(430) 评论(0) 推荐(0)
摘要:1,事务的特性:原子性,隔离性,一致性,持久性 2,多事务同时执行的时候,可能会出现的问题:脏读,不可重复读,幻读 3,事务隔离级别:读未提交,读提交,可重复读,串行化 4,不同事务隔离级别的区别: ·读未提交:一个事务还未提交,它所做的变更就可以被别的事务看到 ·读提交:一个事务提交之后,它所做的 阅读全文
posted @ 2021-04-27 17:40 pebblecome 阅读(259) 评论(0) 推荐(0)
摘要:1. 索引是什么? 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。 索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。更通俗的说,索引就相 阅读全文
posted @ 2021-04-16 09:14 pebblecome 阅读(139) 评论(0) 推荐(0)
摘要:1,概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库 阅读全文
posted @ 2021-04-09 15:08 pebblecome 阅读(756) 评论(0) 推荐(0)
摘要:1,选取最适用的字段属性 MySQL 可以很好的支持大数据量的存取,但是一般来说,数据库中的表越小,在它上面执行的查询也就会越快。因为,在创建表的时候,为了获得更好的性能,我们可以将表的字段的宽度设置的尽可能的小。 例如,在定义邮箱这个字段时候,如果我们将其设置成char(255) ,显然给数据库增 阅读全文
posted @ 2021-04-09 14:52 pebblecome 阅读(984) 评论(0) 推荐(0)
摘要:数据库索引分为主键索引和普通索引 InnoDB 和MyIsam是怎么利用B+数 来实现两类索引的? 问题1:MyISAM的索引结构是怎样的? MyISAM的索引与行记录是分开存储的,叫做非聚集索引(UnClustered Index)。 其中主键索引和普通索引没有什么区别: 1,有连续聚集的区域单独 阅读全文
posted @ 2021-03-31 15:19 pebblecome 阅读(651) 评论(0) 推荐(0)
摘要:1,并发控制,锁,MVCC 第一:并发控制 为啥要进行并发控制? 并发的任务对于同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制(Concurrency Control) 技术上,通常如何进行并发控制? 通过并发控制保证数据一致性的常见手段有 ·1,锁 ·2,数据多版本 第 阅读全文
posted @ 2021-03-26 20:12 pebblecome 阅读(195) 评论(0) 推荐(0)
摘要:事务的四大特性 四大特性为:原子性,一致性,隔离性,持久性 ACID 1,原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败,则不能对数据库有任何影响 2,一致性(Consistency) 一致性是指 阅读全文
posted @ 2021-02-24 16:20 pebblecome 阅读(485) 评论(0) 推荐(0)
摘要:索引是什么 索引是对数据库表中一个或多个列的值进行排序的结构,是帮助MySQL高效获取数据的数据结构 你也可以这样理解:索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整本书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据 阅读全文
posted @ 2021-01-22 18:47 pebblecome 阅读(176) 评论(0) 推荐(0)
摘要:Mysql安装目录 数据库目录 /var/lib/mysql/ 配置文件 /usr/share/mysql(mysql.server命令及配置文件) 相关命令 /usr/bin(mysqladmin mysqldump等命令) 启动脚本 /etc/init.d/mysql(启动脚本文件mysql的目 阅读全文
posted @ 2021-01-22 11:21 pebblecome 阅读(84) 评论(0) 推荐(0)
摘要:搬迁BOSS服务器,发现一个问题,就是当把表rsync过去以后,发现有一些表是损坏的,然后写另一个脚本程序, check table xxxx 找到一些$msg_txt不是OK的,然后记录到一个文件,然后读取文件,进行repair table xxxx 进行修复。完成以后, 跑了一个脚本程序。 发现 阅读全文
posted @ 2021-01-22 11:14 pebblecome 阅读(66) 评论(0) 推荐(0)

1