MySQL
文章平均质量分 76
Reiter_Wong
这个作者很懒,什么都没留下…
展开
-
limit分页优化
mysql 查询使用select命令,通常配合limit , offset参数可以读取指定范围的记录,我们经常用来分页。但是,你有发现吗?问题:当 offset (偏移量)越大时,sql 的查询速度就越慢。也就是说,当数据很大时:select * from tb_a limit 0, 100;select * from tb_a limit 1000000, 100;...原创 2019-08-01 23:25:15 · 1269 阅读 · 2 评论 -
一条SQL语句执行得很慢的原因有哪些?
这个问题可以涉及到MySQL的很多核心知识,我们从两个方面进行详解。一、情况分类1、大多数情况是正常的,只是偶尔会出现很慢的情况。2、在数据量不变的情况下,这条SQL语句一直以来都执行的很慢。二、偶尔很慢的情况针对这种情况,这条SQL的书写本身可能是没有什么问题的,而是其它原因导致的:1、数据库在刷新脏页(flush)当我们要往数据库插入一条数据、或者要...原创 2019-07-31 17:02:30 · 341 阅读 · 0 评论 -
阿里面试问MySQL索引知识
本文来源于一公众号文章。阿里的面试官并不会像有一些公司一样拿着题库一道一道的问,而是会根据面试者做过的事情以及面试过程中的一些内容进行展开。我们以对话的形式展开:一、索引概念、索引模型Q:你们每天这么大的数据量,都是保存在关系型数据库中吗?A:是的,我们线上使用的是MySQL数据库 。Q:每天几百万数据,一个月就是几千万了,那你们有没有对于查询做一些优化呢?A:我们在...原创 2019-07-31 10:12:59 · 704 阅读 · 0 评论 -
mysql的死锁情况
mysql锁机制分为表级锁和行级锁还有页级锁,其中还有乐观锁和悲观锁、共享锁和排他锁。myisam 和 memory 存储引擎采用的是 表级锁;innodb 存储引擎既支持行级锁,也支持表级锁,但默认情况下采用行级锁。共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。排他锁又称为写锁,简称X锁,顾名思义,排他锁...原创 2019-07-30 21:12:07 · 337 阅读 · 0 评论 -
数据库索引原理
我们先了解下 二叉树——>平衡二叉树——>B-树——>B+树 ,一步步深入了解数据库索引底层原理吧。二叉树(Binary Search Trees)二叉树是每个结点最多有两个子树的树结构。其中的子树一般被称为“左子树”和“右子树”,二叉树常被用于实现二叉查找树和二叉堆。二叉树有以下特点:每个结点都包含一个元素以及n个子树,这里0≤n≤2。 左子树和右子树是有顺...原创 2019-07-30 00:33:25 · 967 阅读 · 0 评论 -
使用MySQL中Merge引擎分表
Merge引擎将多个使用MyISAM引擎且表结构相同的数据表合并为一个表,使得查询速度更快,同时也方便了维护数据。优点:只需查询总表即可,无需分别查询各个子表; 查询速度比查询一张大表快; 按照相应规则进行分表,维护数据变得更加方便; 多个子表映射到一个总表的速度极快。缺点:总表必须是Merge引擎,子表必须是MyISAM引擎,且表结构必须相同(即每张表的字段顺序、字段...原创 2019-07-08 16:55:40 · 306 阅读 · 0 评论 -
Mycat单库分表
前两天,发现数据库中有张表已经到达了百万级别,因此需要做分表的工作,网上查阅了下,最常见的做法就是:利用mysql的merge引擎做分表;使用中间件做分表。 这次主要介绍使用中间件Mycat来做单库分表(目前业务还未到达多库分表的需要),这里不再重复Mycat的安装与配置了,网上有很多教程。 实现单库分表需要配置3个文件:server.xml、rule.xml、sche...原创 2019-07-08 11:59:35 · 319 阅读 · 0 评论