• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

标签:MySQL

记住:永远不要在 MySQL 中使用 UTF-8

那么什么是编码?什么是 UTF-8?MySQL 简史为什么这件事情会让人如此抓狂总结最近我遇到了一个 bug,我试着通过 Rails 在以“utf8”编码的 MariaDB 中保存一个 UTF-8 字符串,然后出现了一个离奇的错误:Incorrect string value: ‘xF0x9Fx98x83 &……

mysql查询缓慢原因和解决方案

  查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或……

通过MySQL存储原理来分析排序和锁

先抛出几个问题1.为什么不建议使用订单号作为主键?2.为什么要在需要排序的字段上加索引?3.for update 的记录不存在会导致锁住全表?4.redolog 和 binlog 有什么区别?5.MySQL 如何回滚一条 sql ?6.char(50) 和 varchar(50) 效果是一样的么?……

好文 | MySQL 索引B+树原理,以及建索引的几大原则

MySQL事实上使用不同的存储引擎也是有很大区别的,下面猿友们可以了解一下。 一、存储引擎的比较 注:上面提到的B树索引并没有指出是B-Tree和B+Tree索引,但是B-树和B+树的定义是有区别的。在 MySQL 中,主要有四种类型的索引,分别为:B-Tree 索引, Hash 索引, Fulltext 索引和 R-Tree ……

老哥:说实话,不深入了解MySQL存储原理,还真回答不了这几个问题。

   先抛出几个问题1.为什么不建议使用订单号作为主键?2.为什么要在需要排序的字段上加索引?3.for update 的记录不存在会导致锁住全表?4.redolog 和 binlog 有什么区别?5.MySQL 如何回滚一条 sql ?6.char(50) 和 varchar(50) 效果是一样的么?……

面试官:你来谈谈数据库优化的几个阶段?

引言大家在面试的时候,是否遭遇过,面试官询问你们是如何进行数据库优化的?那这个问题应该怎么答呢?其实写这个题材的原因是我这几天看到各公众号转的一篇数据库调优的知识(不上链接了),我就稍微翻了几下,上面动不动就来说要对数据库进行水平拆分,我就想反问各位读者,你们几个人经历过水平拆分?现在很多文章,实践性实在太差,只能说纯理论分析。这……

面试官:你有过一线的MySQL实战经验,能给我详细聊聊吗?

本文来自一线的实战经验,主要针对DBA和后端开发人员,总是在灾难发生后,才想起容灾的重要性;总是在吃过亏后,才记得曾经有人提醒过。这篇文章建议你一定要背了。。。核心军规尽量不在数据库做运算控制单表数据量 纯INT不超过10M条,含Char不超过5M条保持表身段苗条平衡范式和冗余拒绝大SQL,复杂事务,大批量……

MySQL 如何查找删除重复行?

 如何查找重复行如何删除重复行如何查找多列上的重复行错误的查询语句几种正确的方法如何查找重复行第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样本:create table tes……

MySQL不同存储引擎的数据备份与恢复

 1 数据备份的目的很直接也很简单,就是为了避免因不可预测、偶然的事件而导致的惨重损失,所以数据越重要、变化越频繁,就越要进行数据备份。本文以MySQL为例,讲讲面对不同的存储引擎如何做数据备份与恢复。为了应对不同的数据处理,MySQL提供了十几种不同的存储引擎,不过,我们没有必要一 一去了解,因为熟悉使用M……

MySQL 意外宕机不难解决,数据会丢么?但你真的懂数据恢复吗?

InnoDB如果发生意外宕机了,数据会丢么?对于这个问题,稍微了解一点MySQL知识的人,都会斩钉截铁的回答:不会!为什么?他们也会毫不犹豫地说:因为有重做日志(redo log),数据可以通过redo log进行恢复。回答得很好,那么InnoDB怎样通过redo log进行数据恢复的,具体的流程是怎样的?估计能说清楚这个问题的……

真正理解Mysql的四种隔离级别

什么是事务事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。事务的 ACID事务……

值得收藏:一份非常完整的MySQL规范

一、数据库命令规范1、所有数据库对象名称必须使用小写字母并用下划线分割2、所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)3、数据库对象的命名要能做到见名识意,并且最后不要超过32个字符4、临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时……

MySql 三大知识点,索引、锁、事务,原理分析

1.索引索引,类似书籍的目录,可以根据目录的某个页码立即找到对应的内容。索引的优点:1. 天生排序,2. 快速查找。索引的缺点:1. 占用空间,2. 降低更新表的速度。注意点:小表使用全表扫描更快,中大表才使用索引。超级大表索引基本无效。索引从实现上说,分成 2 种:聚集索引和辅助索引(也叫二级索引或者非聚集索引)从功能上说,分为……

Mysql高性能优化规范建议

数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)数据库对象的命名要能做到见名识意,并且最后不要超过32个字符临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀所……

大佬是怎么思考设计MySQL优化方案的?

在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已。图-MySQL查询过程一、优化的哲学注:优化有风险,涉足需谨慎1、优化可能带来的问题1、优化不总是对一个单纯的环境进行,还很可能是一个复杂的已投产的系统;2、……

面试官:给我说说你平时是如何优化MySQL的?

# 1、EXPLAIN做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据。type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式……

研发应该懂的binlog知识!

引言为什么写这篇文章?大家当年在学MySQL的时候,为了能够迅速就业,一般是学习一下MySQL的基本语法,差不多就出山找工作了。水平稍微好一点的童鞋呢还会懂一点存储过程的编写,又或者是懂一点索引的创建和使用。但是呢,基本上大家都忽略了对底层知识的学习。为什么呢?因为工作中很少用到嘛。然后呢,市面上流传的大部分这种底层的知识,又比较偏运维,研……

MySQL 每秒 570000 的写入,如何实现?

一、需求一个朋友接到一个需求,从大数据平台收到一个数据写入在20亿+,需要快速地加载到MySQL中,供第二天业务展示使用。二、实现再分析对于单表20亿, 在MySQL运维,说真的这块目前涉及得比较少,也基本没什么经验,但对于InnoDB单表Insert 如果内存大于数据情况下,可以维持在10万-15万行写入。 但很多时间我们接受的项目还是数……

mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离

数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境。主要思路简单说,实现mysql主备复制–>利用mycat实现负载均衡。比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定。测试环境MYSQL版本:Server version: 5.5.53,到官网可……

一篇文章搞定:MySQL 索引优化

本文主要讨论MySQL索引的部分知识。将会从MySQL索引基础、索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开(本文图片可点开放大)。一、MySQL索引基础首先,我们将从索引基础开始介绍一下什么是索引,分析索引的几种类型,并探讨一下如何创建索引以及索引设计的基本原则。此部分用于测试索引创建的user表的结构如下:……

互联网公司面试必问的mysql题目(下)

什么是数据库索引?索引有哪几种类型?什么是最左前缀原则?索引算法有哪些?有什么区别?索引是对数据库表中一列或多列的值进行排序的一种结构。一个非常恰当的比喻就是书的目录页与书的正文内容之间的关系,为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空间的。主键索引:数据列不允许重复,不允许为NULL……

埋在MySQL数据库应用中的17个关键问题!

MySQL的使用非常普遍,跟MySQL有关的话题也非常多,如性能优化、高可用性、强一致性、安全、备份、集群、横向扩展、纵向扩展、负载均衡、读写分离等。要想掌握其中的精髓,可得花费不少功力,虽然目前流行的MySQL替代方案有很多,可是从最小成本最容易维护的角度而言,MySQL还是首选。下面从应用场景的角度切入,对MySQL的技术点进行组织,写一份知……

互联网公司面试必问的mysql题目(上)

 介绍:MySQL是一个关系型数据库管理系统,目前属于 Oracle 旗下产品。虽然单机性能比不上oracle,但免费开源,单机成本低且借助于分布式集群所以受到互联网公司的青睐,是互联网公司的主流数据库。  01什么是数据库事务?如果没有事物会有什么后果?……

MySQL InnoDB锁介绍及不同SQL语句分别加什么样的锁

本文中,我们详细介绍MySQL InnoDB存储引擎各种不同类型的锁,以及不同SQL语句分别会加什么样的锁。阅读提示1. 本文所参考的MySQL文档版本是8.0,做实验的MySQL版本是8.0.132. 本文主要参考了MySQL官方文档 InnoDB锁定和事务机制3. 本文还参考了何登成的 MySQL加锁处理分析、一个最不可思议的MyS……

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00