自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 MySQL性能优化十:如何通过慢查询日志优化

日志就跟人们写的日记一样,记录着过往的事情。但是人的日记是主观的(记自己想记的内容),而数据库的日志是客观的,根据记录内容分为以下好几种日志:a、错误日志:记录启动、运行或停止mysqld时出现的问题。b、通用日志:记录建立的客户端连接和执行的语句。c、更新日志:记录更改数据的语句。该日志在MySQL 5.1中已不再使用。d、二进制日志:记录所有更改数据的语句。还用于复制。e、...

2019-03-06 19:05:49 236

原创 MySQL性能优化九:详解引擎(InnoDB,MyISAM)的内存优化攻略

关于引擎的内存优化还可以参考更详细的文章:https://www.cnblogs.com/kevingrace/p/6133818.html 注意:以下都是在MySQL目录下的my.ini文件中改写。一、InnoDB内存优化InnoDB用一块内存区域做I/O缓存池,该缓存池不仅用来缓存InnoDB的索引块,而且也用来缓存InnoDB的数据块。1、innodb_log_buffe...

2019-02-25 11:21:40 314

原创 MySQL性能优化八:视图应用

一、视图概述:(1)什么是视图?视图是基于 SQL 语句的结果集的可视化的表。视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。视图并不在数据库中以存储的数据值集形式存在,而是存在于实际引用的数据库表中,视图的构成可以是单表查询,多表联合查询,分组查询以及计算(表达式)查询等。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。...

2019-02-19 15:57:06 818

原创 MySQL性能优化七:存储过程和存储函数

一、MYSQL储存过程简介:储存过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。存储过程通常有以下优点:1)存储过程能实现较快的执行速度。如果某一操作包含大量的Transac...

2019-02-19 15:03:44 1205

转载 数据库设计三大范式

本文转载至:https://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。                 在实际开发中最为...

2019-02-18 17:01:43 96

原创 MySQL性能优化六:表的设计及优化

正文:表的设计及优化优化①:创建规范化表,消除数据冗余数据库范式是确保数据库结构合理,满足各种查询需要、避免数据库操作异常的数据库设计方式。满足范式要求的表,称为规范化表,范式产生于20世纪70年代初,一般表设计满足前三范式就可以,在这里简单介绍一下前三范式。通俗的给大家解释一下(可能不是最科学、最准确的理解)第一范式:属性(字段)的原子性约束,要求属性具有原子性,不可再分割;...

2019-02-18 09:15:49 262

转载 MySQL索引背后的数据结构及算法原理

本文转载至:https://blog.csdn.net/zq602316498/article/details/39323803 摘要        本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免...

2019-02-13 14:14:25 117

原创 MySQL性能优化五:索引优化【面试重点】

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

2019-02-13 12:04:17 774

转载 SQL临时表和表变量

本文转载至:https://www.cnblogs.com/ericli-ericli/p/6826646.html 表变量:存储在内存中,作用域是脚本的执行过程中,脚本执行完毕之后就会释放内存,适合短时间内存储数据量小的数据集。优点:使用灵活,使用完之后立即释放,不占用物理存储空间缺点:只适合较小数据量的暂时存储,不能建索引,数据量稍大时查询效率慢,占内存使用临时表和表变量的...

2019-02-13 11:55:36 238

转载 MySQL中exists和in区别

本文转载至:https://www.cnblogs.com/xianlei/p/8862313.html exists对外表用loop逐条查询,每次查询都会查看exists的条件语句,当 exists里的条件语句能够返回记录行时(无论记录行是的多少,只要能返回),条件就为真,返回当前loop到的这条记录,反之如果exists里的条 件语句不能返回记录行,则当前loop到的这条记录被丢弃,e...

2019-02-13 11:06:20 155

转载 MySQL的查询、子查询及连接查询

本文载至:http://www.cnblogs.com/loveyouyou616/archive/2012/12/21/2827655.html 一、mysql查询的五种子句        where(条件查询)、having(筛选)、group by(分组)、order by(排序)、limit(限制结果数)         1、where常用运算符:         ...

2019-02-12 14:26:11 107

转载 MySQL的子查询

本文载至:https://www.cnblogs.com/zhuiluoyu/p/5822481.html 一、子查询定义  定义:  子查询允许把一个查询嵌套在另一个查询当中。  子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询。  子查询可以包含普通select可以包括的任何子句,比如:distinct、 group by、order by、limit...

2019-02-12 14:17:01 84

转载 left join,right join,inner join,full join之间的区别

本文转载至:https://www.cnblogs.com/lijingran/p/9001302.html sql中的连接查询有inner join(内连接)、left join(左连接)、right join(右连接)、full join(全连接)四种方式,它们之间其实并没有太大区别,仅仅是查询出来的结果有所不同。 例如我们有两张表: Orders表通过外键Id_P和Person...

2019-02-11 17:32:34 143

原创 MySQL性能优化四:多表查询优化

一、多表查询连接的选择:相信这内连接,左连接什么的大家都比较熟悉了,当然还有左外连接什么的,基本用不上我就不贴出来了。这图只是让大家回忆一下,各种连接查询。 然后要告诉大家的是,需要根据查询的情况,想好使用哪种连接方式效率更高。二、MySQL的JOIN实现原理在MySQL 中,只有一种Join 算法,就是大名鼎鼎的Nested Loop Join,他没有其他很多数据库所提供的Has...

2019-02-11 17:07:39 1662

转载 MySQL Explain详解

本文转载至:https://www.cnblogs.com/xuanzhi201111/p/4175635.html 在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,这时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。...

2019-01-25 14:19:07 108

原创 MySQL性能优化三:单表查询优化的一些小总结,非索引设计

大家都知道,查询部分是远远大于增删改的,所以查询优化会花更多篇幅去讲解。本篇会先讲单表查询优化(非索引设计)。然后讲多表查询优化。索引优化设计以及库表结构优化等后面文章再讲。 单表查询优化:(关于索引,后面再开单章讲解)(0)可以先使用 EXPLAIN 关键字可以让你知道MySQL是如何处理你的SQL语句的。这可以帮我们分析是查询语句或是表结构的性能瓶颈。(1)写sql要明确需要的...

2019-01-25 09:58:38 302

原创 MySQL性能优化二:90%程序员都会忽略的增删改优化

增删改优化,大多数人都会忽略的优化。 补充知识点:操作数据语句优化的认识通常情况下,当访问某张表的时候,读取者首先必须获取该表的锁,如果有写入操作到达,那么写入者一直等待读取者完成操作(查询开始之后就不能中断,因此允许读取者完成操作)。当读取者完成对表的操作的时候,锁就会被解除。如果写入者正在等待的时候,另一个读取操作到达了,该读取操作也会被阻塞(block),因为默认的调度策略是写入...

2019-01-24 16:45:37 212

原创 MySQL性能优化一:MySQL优化入门文章

为什么要进行mysql优化?究竟在优化什么。这篇为你开启入门之旅。优化,一直是面试最常问的一个问题。因为从优化的角度,优化的思路,完全可以看出一个人的技术积累。那么,关于系统优化,假设这么个场景,用户反映系统太卡(其实就是高并发),那么我们怎么优化? 如果请求过多,判定web服务器的压力过大,增加前端的web服务器,做负载均衡 如果请求静态界面不卡了,但是动态数据还是卡,说明M...

2019-01-24 16:43:58 99

转载 JVM 类加载机制详解

本文转载至:http://www.importnew.com/25295.html如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,这里既可以...

2019-01-22 11:44:44 86

转载 详解 JVM Garbage First(G1) 垃圾收集器

本文转载至:https://blog.csdn.net/coderlius/article/details/79272773 第一章 概述G1(Garbage First)垃圾收集器是当今垃圾回收技术最前沿的成果之一。早在JDK7就已加入JVM的收集器大家庭中,成为HotSpot重点发展的垃圾回收技术。同优秀的CMS垃圾回收器一样,G1也是关注最小时延的垃圾回收器,也同样适合大尺寸堆内存...

2019-01-22 11:30:49 94

转载 了解CMS(Concurrent Mark-Sweep)垃圾回收器

1.总体介绍:CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC ,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。2.CMS过程:初始标记(STW initial mark) ...

2019-01-09 22:04:06 306

转载 Tomcat中JVM启动参数详细说明及JDK1.8中JVM部分新特性

转载至:https://blog.csdn.net/znb769525443/article/details/51055465在 tomcat/bin/catalina.sh 的 第一行#!/bin/sh 下添加JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermS...

2019-01-09 17:34:16 1421

转载 JVM调优总结

转载地址:http://www.cnblogs.com/andy-zhou/p/5327288.html#_caption_0一些概念数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本...

2019-01-05 11:54:48 90

转载 JAVA_OPTS设置

JAVA_OPTS ,顾名思义,是用来设置JVM相关运行参数的变量。JVM:JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xss512k"-server:一定要作为第一个参数,在多个CPU时性能佳-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些-Xmx:java heap最大值,使用的最大内存上面两个值是分配JVM的最小和最大...

2019-01-04 12:20:20 241 1

转载 isNaN()部分总结

isNaN(x),如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false。isNaN() 函数可用于判断其参数是否是 NaN,该值表示一个非法的数字(比如被 0 除后得到的结果)。如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。正因为如...

2018-07-28 16:15:59 881

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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