随笔分类 -  mysql

1
摘要:所有数据库对象名称必须使用小写字母并用下划线分割 1. 所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 2. 数据库对象的命名要能做到见名识意,并且最后不要超过 32 个字符 3. 临时库表必须以 tmp_为前缀并以日期为后缀,备份表必须以 阅读全文
posted @ 2020-12-02 10:12 Kris-Q 阅读(117) 评论(0) 推荐(0) 编辑
摘要:转载自:https://cloud.tencent.com/developer/article/1367681 问题描述 近期,线上有个重要Mysql客户的表在从5.6升级到5.7后master上插入过程中出现"Duplicate key"的错误,而且是在主备及RO实例上都出现。以其中一个表为例,迁 阅读全文
posted @ 2020-09-21 17:20 Kris-Q 阅读(631) 评论(0) 推荐(0) 编辑
摘要:1、MySQL 中有哪几种锁? (1)表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最 高,并发度最低。 (2)行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最 低,并发度也最高。 (3)页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表 锁 阅读全文
posted @ 2020-09-17 14:13 Kris-Q 阅读(469) 评论(0) 推荐(0) 编辑
摘要:数据库瓶颈 ① IO瓶颈 ② CPU瓶颈 分库分表 ①水平分库 ②水平分表 ③垂直分库 ④垂直分表 分库分表工具 分库分表步骤 分库分表问题 ①非partition key的查询问题 —端上除了partition key只有一个非partition key作为条件查询 —端上除了partition 阅读全文
posted @ 2020-08-10 15:27 Kris-Q 阅读(271) 评论(0) 推荐(0) 编辑
摘要:港真,Null 貌似在哪里都是个头疼的问题,比如 Java 里让人头疼的 NullPointerException,为了避免猝不及防的空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种 if 判断,麻烦而又臃肿,为此 java8 引入了 Optional 来避免这一问题。 下面咱们要聊的是 M 阅读全文
posted @ 2020-07-29 14:02 Kris-Q 阅读(176) 评论(0) 推荐(1) 编辑
摘要:分布式缓存是现在很多分布式应用中必不可少的组件,但是用到了分布式缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? Cache Aside Pattern 最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern。读的 阅读全文
posted @ 2020-07-21 17:14 Kris-Q 阅读(144) 评论(0) 推荐(0) 编辑
摘要:在前一篇文章中,我们已经介绍了索引、索引的优化规则等等 原文链接:Siam博客 mysql索引优化 在其中我们有引申出组合索引,多个单字段索引冲突两个知识点。 本文章主要是与后者有关联。 在原文中,我们使用了下面的例子 现在有这样子的数据量: 100W条数据 user_name=’我是用户名’ 10 阅读全文
posted @ 2020-06-02 16:24 Kris-Q 阅读(268) 评论(0) 推荐(0) 编辑
摘要:当面试官问:"网站高并发怎么做?"时,该怎么回?在高并发下,我们(初级程序员)能做什么? 一:mysql方面 mysql方面,我们主要要从以下几点去考虑: 1:索引 mysql其实没有想象中的那么差,相反,mysql表数据,只要查到了索引,都不会慢,(1.5亿数据表查索引0.0几秒),所以mysql 阅读全文
posted @ 2020-06-01 15:30 Kris-Q 阅读(313) 评论(0) 推荐(0) 编辑
摘要:所有的php初学者都应该知道,mysql的分页语句写法如下: 1 select * from a limit (page-1)*page_size,page_size 而当这语句分页到一定程度时,例如1000页,每页20条 1 select * from a limit 19980,20 会发现分页 阅读全文
posted @ 2020-05-29 14:31 Kris-Q 阅读(325) 评论(0) 推荐(0) 编辑
摘要:在mysql设计表中,有个概念叫做约束 什么是约束 约束英文:constraint 约束实际上就是表中数据的限制条件 约束种类 mysql的约束大概分为以下几种: 非空约束(not null) 唯一性约束(unique) 主键约束(primary key) PK 外键约束(foreign key) 阅读全文
posted @ 2020-05-29 14:29 Kris-Q 阅读(144) 评论(0) 推荐(0) 编辑
摘要:本人混迹qq群2年多了,经常听到有人说“数据表太大了,需要分表”,“xxxx了,要分表”的言论,那么,到底为什么要分表? 难道数据量大就要分表? mysql数据量对索引的影响 本人mysql版本为5.7 新增数据测试 为了测试mysql索引查询是否和数据量有关,本人做了以下的测试准备: 新建4个表a 阅读全文
posted @ 2020-05-29 14:22 Kris-Q 阅读(468) 评论(0) 推荐(0) 编辑
摘要:写在前面 在我们日常使用数据库的时候,肯定避免不了对数据库的优化。那么对数据库的优化又少了不索引的知识。 是的,建立索引能极大地提高查询的效率。那么你知道吗,如果合理建立索引,可以更大地榨出数据库的性能——也就等同于进一步提高查询效率。 写下这篇文章就是为了记录一下对索引的优化,合理建立索引。 什么 阅读全文
posted @ 2020-05-29 13:57 Kris-Q 阅读(164) 评论(0) 推荐(0) 编辑
摘要:在高并发流量下,数据库往往是服务端的瓶颈,由于数据库数据需要确保落地,同时保证数据同步,数据即时性,有效性的问题,导致数据库不能像平常后端程序一样负载均衡. 那么在大并发下,该如何缓解数据库的压力呢? mysql读写分离 我们可以分析,程序对于mysql的操作无非就2种,写入数据/更新数据(数据变更 阅读全文
posted @ 2020-05-27 16:08 Kris-Q 阅读(574) 评论(0) 推荐(0) 编辑
摘要:在前面,我们了解了mysql binlog日志的作用以及使用方法: http://www.php20.cn/article/237 在后面讲到了,可以通过binlog进行恢复数据,那么,具体步骤是怎么样的呢? 数据库备份 数据库恢复的先决条件是,定时备份数据库,缩小binlog恢复范围.首先我们备份 阅读全文
posted @ 2020-05-27 16:03 Kris-Q 阅读(394) 评论(0) 推荐(0) 编辑
摘要:binlog 在mysql中,当发生数据变更时,都会将变更数据的语句,通过二进制形式,存储到binlog日志文件中. 通过binlog文件,你可以查看mysql一段时间内,对数据库的所有改动. 也可以通过binlog文件,进行数据恢复,以及集群同步. binlog常用配置参数 1 2 3 4 5 6 阅读全文
posted @ 2020-05-27 15:58 Kris-Q 阅读(291) 评论(0) 推荐(0) 编辑
摘要:扩展:在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 1 下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/my 阅读全文
posted @ 2020-05-20 10:35 Kris-Q 阅读(857) 评论(0) 推荐(0) 编辑
摘要:对MySql查询缓存及SQL Server过程缓存的理解及总结 一、MySql的Query Cache 1、Query Cache MySQL Query Cache是用来缓存我们所执行的SELECT语句以及该语句的结果集。MySql在实现Query Cache的具体技术细节上类似典型的KV存储,就 阅读全文
posted @ 2020-04-04 09:44 Kris-Q 阅读(1107) 评论(0) 推荐(0) 编辑
摘要:转载https://blog.csdn.net/qq_33326449/article/details/53079082 以前一直不知道Union和Union All到底有什么区别,今天来好好的研究一下,网上查到的结果是下面这个样子,可是还是不是很理解,下面将自己亲自验证: Union:对两个结果集 阅读全文
posted @ 2019-09-22 11:50 Kris-Q 阅读(390) 评论(0) 推荐(0) 编辑
摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引 阅读全文
posted @ 2019-09-22 11:41 Kris-Q 阅读(1289) 评论(0) 推荐(0) 编辑
摘要:1.编辑mysql的配置文件my.cnf,这个文件通常在/etc目录下,但我用rpm装mysql的时候这个配置文件是在/usr目录下,但我测试过,无论是放在/etc目录下,还是放在 /usr目录下,都可以生效,不过由于习惯,我还是将my.cnf文件放到/etc目录下vim /etc/my.cnf# 阅读全文
posted @ 2018-11-23 10:46 Kris-Q 阅读(253) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示