MySql
文章平均质量分 93
和尚不洗碗
不断努力学习,提供自己的能力。学习+思考+坚持=成功。
展开
-
MySQL1:MySQL函数汇总
前言MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时查看。 数学函数(1)ABS(x)返回x的绝对值(2)PI()返回圆周率π,默认显示6位小数(3)SQRT(x)返回非负数的x的二次方根(4)MOD(x,y)...转载 2018-10-23 08:21:52 · 151 阅读 · 0 评论 -
[MySQL高级](六) 锁机制
1. 概述1.1 定义 锁时计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除了传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供需要用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。1.2 应用当然这里...转载 2018-10-24 10:06:21 · 121 阅读 · 0 评论 -
[MySQL高级](五) 查询截取分析
1. 查询优化1.1 永远小表驱动大表小表驱动大表的理解我们可以通过下面的java代码来理解一下:// 第一种循环的方式for(int i = 0;i < 5;i++){ for(int j = 0;j<1000;j++){ }}// 第二种循环的方式for(int i = 0;i < 1000;i++){ for(int j =...转载 2018-10-24 10:05:27 · 126 阅读 · 0 评论 -
[MySQL高级](四) 索引优化之索引失效
1. 前言 索引的建立是为了让我们更加高效快速的查询出结果,但是,要想充分利用起索引,我们首先要解决的最大问题就是要避免索引失效,下面我们来一起通过实例来探讨造成索引失效的情况,并通过优化SQL查询语句来避免索引失效。 ➤ 准备工作:、 创建数据表SQLCREATE TABLE `staffs` ( `id` int(11) NOT NULL AUTO_INCRE...转载 2018-10-24 10:05:17 · 171 阅读 · 0 评论 -
[MySQL高级](三) 索引分析
1. 单表1.1 建表SQLCREATE TABLE `article` ( `id` int(10) NOT NULL, `author_id` int(10) DEFAULT NULL, `category_id` int(10) DEFAULT NULL, `views` int(10) DEFAULT NULL, `comments` int(10) DEFA...转载 2018-10-24 10:05:07 · 124 阅读 · 0 评论 -
[MySQL高级](二) 索引简介
1. 概述 数据库除了数据本身之外,数据库还维护着一个满足特定查找算法的数据结构,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法,这种数据结构就是索引。简而言之,索引是帮助MySQL高效获取数据的数据结构,是“排好序的快速查找数据结构”。 一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。我们平常所说的索引,如...转载 2018-10-24 10:04:57 · 125 阅读 · 0 评论 -
[MySQL高级](一) EXPLAIN用法和结果分析
1. EXPLAIN简介使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。 ➤ 通过EXPLAIN,我们可以分析出以下结果:表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表之间的引用每张表有多少行被优化器查询➤ 使用方式如下:EXPLAIN +SQL语句...转载 2018-10-24 10:04:42 · 102 阅读 · 0 评论 -
MySQL10:详解MySQL数据类型
前言很久没写文章,也有博友在我的有些文章中留言,希望我可以写一些文章,公司项目一直很忙,但是每天也尽量腾出一些时间写一些东西,主要针对工作中一些常用的知识点系统性的梳理(可能我们在工作中只是纯粹的使用而已,不会去进行总结、归纳)。本文写的内容是MySQL数据类型,之前写MySQL系列文章的时候一直忽略的一个知识点,现在想来,我们学习一门语言,无非从两个方面入手:基本语法,有了语法,我们...转载 2018-10-24 10:04:21 · 217 阅读 · 0 评论 -
MySQL9:索引实战
索引无论是面试,还是实际工作中,对于一个Java程序员来说,数据库优化是避不开的一个技术点,关于数据库的优化,在性能达不到要求的情况下,我大致给出以下几个方向:(1)优化表结构,对常用字段和非常用的字段分开存储(2)优化SQL,合理使用索引(3)做数据库读写分离,减少IO压力,由于数据库对记录做了持久化并存储在磁盘上,对磁盘的I/O又是非常消耗性能的操作,因此读、写都在一个库中会大...转载 2018-10-23 08:24:43 · 123 阅读 · 0 评论 -
MySQL8:连接查询
连接查询连接是关系型数据库模型的主要特点。连接查询是关系型数据库中最主要的查询,主要包括内连接、外连接等通过联结运算符可以实现多个表查询。在关系型数据库管理系统中,表建立时各种数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中,当查询数据时通过连接操作查询出存放在多个表中的不同实体信息,当两个或多个表中存在相同意义的字段时,便可以通过这些字段对不同的表进行连接查询。本文将...转载 2018-10-23 08:24:36 · 187 阅读 · 0 评论 -
MySQL7:视图
什么是视图数据库中的视图是一个虚拟表。视图是从一个或者多个表中导出的表,视图的行为与表非常相似,在视图中用户可以使用SELECT语句查询数据,以及使用INSERT、UPDATE和DELETE修改记录。视图可以使用户操作方便,而且可以保障数据库系统安全。视图一经定义便存储在数据库中,预期相对应的数据并没有像表那样在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。当对通过视图看...转载 2018-10-23 08:24:30 · 149 阅读 · 0 评论 -
MySQL6:触发器
什么是触发器MySQL的触发器(trigger)和存储过程一样,都是嵌入到MySQL中的一段程序。触发器是由事件来触发某个操作,这些事件包括INSERT、UPDATE和DELETE语句。如果定义了触发程序,当数据库执行这些语句的时候就会激发触发器执行相应的操作,触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。 创建触发器触发器是个特殊的存储过程,不同的是,执...转载 2018-10-23 08:24:23 · 126 阅读 · 0 评论 -
MySQL5:性能优化
性能优化优化MySQL数据库是数据库管理员和数据库开发人员的必备技能。MySQL优化,一方面是找出系统的瓶颈,提高MySQL数据库的整体性能;一方面需要合理的结构设计和参数调整,以提高用户操作响应的速度;同时应该尽可能节省系统资源,以便系统可以提供更大负荷的服务。MySQL数据库优化是多方面的,有几条优化原则:1、减少系统的瓶颈2、减少资源的占用3、增加系统的反应速度 ...转载 2018-10-23 08:24:15 · 119 阅读 · 0 评论 -
MySQL4:存储过程和函数
什么是存储过程简单说,存储过程就是一条或多条SQL语句的集合,可视为批文件,但是起作用不仅限于批处理。本文主要讲解如何创建存储过程和存储函数以及变量的使用,如何调用、查看、修改、删除存储过程和存储函数等。使用的数据库和表还是之前写JDBC用的数据库和表:create database school;use school;create table student( s...转载 2018-10-23 08:22:21 · 120 阅读 · 0 评论 -
MySQL3:索引
什么是索引索引是对数据库表中一列或者多列的值进行排序的一种结构,所引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行。表越大,查询数据所花费的时间越多,如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜索数据文件,而不必查看所有数据。 索引的含义和特点索引是一个单独的、存储在磁盘上的数据库结构,它们包含着对数据表...转载 2018-10-23 08:22:11 · 225 阅读 · 0 评论 -
MySQL2:四种MySQL存储引擎
前言数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySql的核心就是存储引擎。 存储引擎查看MySQL给开发者提供了查询存储引擎的功能,我这里使用的是MySQL5....转载 2018-10-23 08:22:03 · 121 阅读 · 0 评论 -
[MySQL高级](七) MySQL主从复制及读写分离实战
1. 简介 随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求。此时数据库集群就很好的解决了这个问题。采用MySQL分布式集群,能够搭建一个高并发、负载均衡的集群服务器。在此之前我们必须要保证每台MySQL服务器里的数据同步。数据同步我们可以通过MySQL内部配置就可以轻松完成,主要有主从复制和主主复制。 MySQL数据库自身提供的主从复制功能可以方便的...转载 2018-10-24 10:06:30 · 169 阅读 · 0 评论