MySQL系列-优化之分页查询

1.分页查询之前先按索引排序 我们经常会上一些小说网站看小说,他们总是会把最近更新了的小说放在最前面,也就是第一页,而很久没更新的就放在后面了。那么这样网站是如何实现的呢?我的猜想有一张小说表,表里面一个last_update表示最后更新字段,并且对这个字段建立了索引,按last_update从...

2018-07-30 15:26:33

阅读数 239

评论数 0

MySQL系列-优化之join多表连接

1.先看一个单表案例 有如下下数据表,只有主键id 执行sql【explain select id,n1 from tb where n2='f' and n4>'c' order by n3 desc limit 1;】 通过explain分析: 不光是AL...

2018-07-30 10:22:55

阅读数 902

评论数 0

MySQL系列-优化之精准解读in和exists

1.解读in和exists 这两个关键字的区别主要是在于子查询上面,in是独立子查询,exists是相关子查询,例如: 用in查询有员工的部门       :select dept_name from dept where id in (select dept_id from emp); 用...

2018-07-26 17:42:02

阅读数 455

评论数 0

MySQL系列-优化之count()

1.count()函数的作用 count()函数有两个作用,一是统计表数据的行数,二是统计某列非空值得数量。 我们用count(*)来统计行数,当然这个*可以是任意的常量,比如 1 'x' 666 之类的。 count(row)用来统计某列非空值得数量,这个row是列名。 2.coun...

2018-07-24 09:40:52

阅读数 347

评论数 0

MySQL系列-优化之like关键字

like关键字我们也是经常使用,用来模糊查询用户名,那么like如何进行优化呢?这篇博客就简单讨论一下like的优化,但是真实的生产环境要比这复杂多了。 1.%号不放最左边 先创建表和索引。 然后进行查询【explain select * from tb where name like ...

2018-07-23 11:55:17

阅读数 5322

评论数 2

MySQL系列-优化之覆盖索引

1.什么是覆盖索引 我们知道MySQL的B+Tree索引是用我们字段的数据来建立索引的,比如说我们的主键id字段,就是用所有的id来组织这颗索引树,如果我们再对name字段建立索引的话,这个二级索引就是用name字段的数据来组织这颗索引树。那么问题就来了,我们知道对于二级索引而言他的叶子节点存储...

2018-07-23 10:22:42

阅读数 651

评论数 0

MySQL系列-优化之查询索引优化

这篇博客我们来谈谈如何正确使用索引以及正确建立索引,当然在开发当中情况比这个复杂多了,还要根据业务实际情况来,这篇博客就只能算是入门了,要想继续进阶的话可以和公司的DBA混个两年,前提是他愿意要带你玩。话不多说,进入正题。 如果不了解explain执行计划可以看我之前的文章MySQL系列-优化之...

2018-07-22 22:27:23

阅读数 113

评论数 0

MySQL系列-优化之explain执行计划详解

1.id介绍 这个id不是主键的意思,他是用来标识select查询的序列号,包含一组数字,表示查询中执行select子句或者操作表的顺序。 会出现以下情况: id相同:按从上到下顺序执行 id不同:id值越大,优先级越高,越先被执行 id相同不同的同时存在:优先执行id值大的,如果id值...

2018-07-07 17:37:42

阅读数 2209

评论数 1

MySQL系列-优化之再谈索引及explain简介

1.再谈索引 前面我出了一篇关于索引的博客MySQL系列-B+Tree索引详解,索引太重要了可以多谈谈,简单来说索引是排好序的快速查找的数据结构。一般来说一张表建立的索引不要超过5个,数据规模没有达到百万级别,建不建索引也没太大区别。 2.索引的优势 索引具备两个优势 一 、可以快速查找 ...

2018-07-04 23:39:06

阅读数 134

评论数 0

MySQL系列-innoDB行锁详解

一直都很想讨论一下innoDB的行锁,但是看到了何登成大神的博客之后发现他的研究更深入说的更好,是一篇非常优秀的博客,但是需要对索引有比较深入的了解,因此看他的博客之前可以先看看我的一篇关于索引的文章MySQL系列-B+Tree索引详解。同时也深感数据库易学难精,一条SQL下去可能发生了很多你不知...

2018-07-01 21:28:17

阅读数 539

评论数 1

MySQL系列-事务及乐观锁悲观锁

以下我们针对innoDB存储引擎进行分析,作为MySQL的默认存储引擎,innoDB越来越重要了。 1.什么是事务 数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全地不执行。 比如说简单的转账事务包含两个SQL语句,一条...

2018-07-01 00:40:26

阅读数 2005

评论数 0

MySQL系列-MyISAM表锁详解

1.S锁和X锁S锁(共享锁)又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改,除非先获取A的X锁。X锁(排他锁)又称写锁,若事务T对数据对象A加上...

2018-06-24 23:33:02

阅读数 518

评论数 0

MySQL系列-查询语句练习题

先准备4张表:学生表老师表课程表成绩表1.查询选修课程'8105'且成绩在80到90之间的所有记录解析:简单题答案:select * from sc where cno='8105' and grade <=90 and grade >=80;2.查询成...

2018-06-15 22:03:45

阅读数 257

评论数 0

MySQL系列-查询语句

先准备两张表:tb1tb21.查询所有字段select * from tb1;2.查询指定的列select id from tb1;3.给表取别名 select id from tb1 t1; 或者 select id from tb1 as t1;4.给列取别名select id as ip f...

2018-06-11 22:50:28

阅读数 161

评论数 0

MySQL系列-详解DDL语句

DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter等。下面具体介绍各种常用DDL语句:1.数据库级别显示所有数据库:show databas...

2018-06-10 20:55:47

阅读数 713

评论数 0

MySQL系列-使用JDBC操作MySQL常用数据类型

MySQL常用数据类型有这些 MySQL系列-常用数据类型1.插入和获取日期类型表的设计如下表中数据如下:如何从结果集中获取这些类型的数据呢?第一个date类型,我们可以使用getDate()方法获取。例如:Date d = resultSet.getDate(1);//返回 java.sql.D...

2018-06-10 11:31:38

阅读数 163

评论数 0

MySQL系列-正确使用原生JDBC

一般我们也很少原生JDBC,都是在ORM框架上做二次开发,确实框架帮我们做了很多事情,但是原生JDBC我们还是需要掌握的,网上很多代码为了省事写的很不规范,很容易误导第一次接触的人JDBC的人,接下来我详细解释一下使用原生JDBC的每个步骤,以及规范的编写代码,以MySQL为例。主要分为以下六个步...

2018-06-08 14:45:10

阅读数 304

评论数 0

MySQL系列-常用数据类型

1.MySQL常用数据类型分类日期类型 数字类型(整数和小数) 字符类型 二进制类型2.日期类型MySQL数据类型字节数含义date3字节日期,格式:2014-09-18time3字节时间,格式:08:42:30datetime8字节日期时间,格式:2014-09-18 08:42:30times...

2018-06-08 01:18:11

阅读数 265

评论数 0

MySQL系列-B+Tree索引详解

1.什么是B+Tree?介绍B+Tree前我们先聊一下在数据结构课程当中学习到的其他树结构,二叉搜索树,平衡二叉树搜索树(红黑树、AVL树),不懂的同学可以先去了解一下。我们知道平衡二查搜索树是对二叉搜索树的一次改进,防止退化成线性表和树高度过高的情况,使其搜索单个值的复杂度为O(logN),这也...

2018-05-31 21:41:13

阅读数 842

评论数 0

MySQL系列-系统架构及存储引擎介绍

1.什么是MySQL?MySQL是一款性能高、成本低、可靠性好的最流行的开源数据库,被各大互联网公司使用,目前MySQL属于Oracle公司。同时MySQL也迎来了目前为止的最大版本更新MySQL8.0,就像Java8一样,MySQL直接从5.7跳到8.0了,同时也意味着这是一次革命性的版本。2....

2018-05-31 10:41:32

阅读数 185

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭