mysql
jy02268879
这个作者很懒,什么都没留下…
展开
-
mysql线上问题排查思路及常用命令
一、常用命令1.查看数据库配置的最大连接数show VARIABLES like 'max_connections'2.SHOW PROCESSLIST查看当前数据库运行的所有线程、命令、状态、耗时、SQLSHOW PROCESSLIST如果是root用户执行,能看到所有用户的当前的连接状态。如果是普通账号,只能看到当前账号占用的数据库连接。show proccesslist只能列出前100条,如果想看全数据的话要使用 show full processlist。.原创 2020-10-21 20:13:03 · 4206 阅读 · 1 评论 -
【十五】MySQL中in、exists、not in 、not exists区别
在MYSQL的连表查询中,最好是遵循‘小表驱动大表的原则’在执行SELECT... FROM... WHERE ...IN(SELECT ...)查询时,通常是先执行IN()中的查询(并且执行这一次)IN中查询的表就是驱动表,所以这个表应该小一点。在执行SELECT... FROM... WHERE ...EXISTS(SELECT ...)查询时,通常是先执行SELECT... FROM... WHERE ...查询,此处查询的表才是驱动表,所以应该是小一点的表。一、in例子:SE.原创 2020-10-11 15:49:28 · 616 阅读 · 0 评论 -
【十四】MySQL Innodb RR隔离级别下到底是不是解决了幻读
我之前一直质疑网传mysql innodb的RR隔离级别下,next-key lock解决了幻读这种说法的准确性。这次理顺了。例子准备:场景一、select * from userorder sessionA sessionB 结果 解释 T1 start transaction; T2 start transaction; T3 select * from ...原创 2020-09-20 14:07:02 · 828 阅读 · 0 评论 -
【十三】MySQL索引的数据结构为什么用B+,而不是B,不是红黑树
前提具备知识点:【十一】MySQL中InnoDB及索引深入剖析(数据页、记录、页目录、B+树索引、聚簇索引、二级索引、索引优化 转自罗志赟)一、Mysql不用B-树的原因1.Mysql衡量查询效率指标之一磁盘IO次数,B+树节点小,磁盘IO次数少B-树和B+树最重要的区别:B+树只有叶节点存放数据,其余节点用来索引,而B-树是每个索引节点都会有Data域。这就决定了B+树更适合用来存储外部数据,也就是所谓的磁盘数据。从Mysql(Inoodb)的角度来看,B+树是用来充当索引的,一般来说.原创 2020-09-20 14:06:49 · 436 阅读 · 0 评论 -
【十二】MySQL查询缓存
可以通过下面的SQL查看当前查询缓存相关参数状态:SHOW VARIABLES LIKE '%query_cache%';输出结果类似下面:query_cache_type 查询缓存类型,有0、1、2三个取值。0则不使用查询缓存。1表示始终使用查询缓存。2表示按需使用查询缓存。 如果query_cache_type为1而又不想利用查询缓存中的数据,可以用下面的SQL:SELECT SQL_NO_CACHE * FROM my_table WHERE...原创 2020-08-16 22:55:40 · 727 阅读 · 0 评论 -
【十一】MySQL中InnoDB及索引深入剖析(数据页、记录、页目录、B+树索引、聚簇索引、二级索引、索引优化 转自罗志赟)
InnoDB页将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为 16 KB。也就是在一般情况下,一次最少从磁盘中读取16KB的内容到内存中,一次最少把内存中的16KB内容刷新到磁盘中。InnoDB行格式我们平时是以记录为单位来向表中插入数据的,这些记录在磁盘上的存放方式也被称为行格式或者记录格式。记录的额外信息记录的额外信息:分别是变长字...转载 2020-04-21 10:22:40 · 1531 阅读 · 3 评论 -
【十】mysql之SQL优化及一条SQL是怎么被执行的(转载罗志赟的)
原文链接:Mysql的SQL优化指北概述在一次和技术大佬的聊天中被问到,平时我是怎么做Mysql的优化的?在这个问题上我只回答出了几点,感觉回答的不够完美,所以我打算整理一次SQL的优化问题。要知道怎么优化首先要知道一条SQL是怎么被执行的正在上传…重新上传取消首先我们会连接到这个数据库上,这时候接待你的就是连接器。连接器负责跟客户端建立连接、获取权限、维持和管理连接。 My...转载 2020-04-20 17:24:50 · 219 阅读 · 0 评论 -
【九】mysql之主从复制(转载)
本文转自深度探索MySQL主从复制原理启迪云计算-开发工程师 邸小丽概要MySQL Replication (MySQL 主从复制) 是什么?为什么要主从复制以及它的实现原理是什么?MySQL 主从复制概念MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的...转载 2020-04-20 11:01:32 · 264 阅读 · 0 评论 -
【八】MySQL事务之MVCC、undo、redo、binlog、二阶段提交
1.简介MVCC的全称是“多版本并发控制”。这项技术使得InnoDB的事务隔离级别下执行一致性读操作有了保证。换言之,就是为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值。MVCC由于其实现原理,只支持read committed和repeatable read隔离等级2.作用:1.增强并发性。这样的一来查询就不用等待另一个事务释放锁。2.在RR可重复...原创 2020-04-17 14:45:51 · 2238 阅读 · 4 评论 -
【七】MySQL之事务ACID、隔离级别
一、事务的属性1.原子性:事务中的操作要么全部执行,要么全部不执行2.一致性:事务执行前后,数据完整性没有被破坏3.隔离性:一个事务操作的结果在何时以何种方式对其他并发的事务操作可见4.持久性:事务结束后,对数据的修改是永久的二、事务的隔离级别查询mysql的事务隔离级别SELECT @@tx_isolation设置mysql的隔离级别set session ...原创 2020-04-16 16:07:42 · 294 阅读 · 0 评论 -
【六】MySQL之锁机制总结(InnoDB)
本文仅涉及的InnoDB存储引擎MySQL不同的存储引擎支持不同的锁机制。一、事务的隔离级别查询mysql的事务隔离级别SELECT @@tx_isolation设置mysql的隔离级别set session transaction isolation level REPEATABLE_READ设置mysql的锁等待超时,单位是秒set innodb_lock_...原创 2018-12-20 00:50:47 · 525 阅读 · 0 评论 -
关系型数据库三范式
1NF:所有属性都是不可分的基本数据项比如:个人信息表中有字段:id,姓名,性别,地址。如果还需要把地址拆分成:省、市、区。则不满足1NF的定义。 2NF:满足1NF,并且每个非主属性完全依赖于码要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性, 如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体。比如说学生...原创 2018-08-28 18:40:37 · 317 阅读 · 0 评论 -
【五】MySQL之Explain详解
转自MySQL 性能优化神器 Explain 使用分析简介MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化.EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如:EXPLAIN SELECT * from user_info WHERE...转载 2018-08-09 02:13:42 · 162 阅读 · 0 评论 -
【十】storm+mysql集成
使用JdbcInsertBolt、JdbcLookupBolt请直接看官网官网介绍这里代码给的例子是wordcount,用的jdbcClient直接执行SQLspoutpackage integration.jdbc;import java.util.Map;import java.util.Random;import org.apache.storm.spout.SpoutOutput...原创 2018-06-13 21:58:42 · 1957 阅读 · 0 评论 -
【八】Spark Streaming 用foreachRDD把结果写入Mysql中Local模式(使用Scala语言)
DStream 的foreachRDD是允许把数据发送到外部文件系统中。然而使用不当会导致各种问题。错误示范1:在driver创建连接,在woker使用。会报错connection object not serializable。错误示范2:rdd每个记录都创建连接,成本非常高。正确示范:拿到rdd以后foreachPartition,每个partition创建连接,而且使用数...原创 2018-07-18 01:40:36 · 2100 阅读 · 0 评论 -
【十五】SparkSQL访问日志分析:数据清洗、数据分析(分组、排序、窗口函数)、入库(MySQL)、性能优化
概述:1.第一次数据清洗:从原始日志中抽取出需要的列的数据,按照需要的格式。2.第二步数据清洗:解析第一步清洗后的数据, 处理时间,提出URL中的产品编号、得到产品类型, 由IP得到城市信息(用到开源社区的解析代码,该部分具体介绍:ipdatabase解析出IP地址所属城市) ,按照天分区进行存储 (用parquet格式)。3.统计分析(分组、排序、窗口函数)。4.结果写入MyS...原创 2018-07-30 18:52:06 · 3039 阅读 · 0 评论 -
【十四】SparkSQL外部数据源操作之Mysql
SparkMysql.scala代码package com.sid.comimport org.apache.spark.sql.SparkSessionimport java.util.Properties/** * 操作mysql的数据 * */object SparkMysql { def main(args: Array[String]): Unit = ...原创 2018-07-27 19:19:31 · 641 阅读 · 0 评论 -
【十六】SparkSQL常用性能优化
一、代码优化1.在数据统计的时候选择高性能算子。例如Dataframe使用foreachPartitions将数据写入数据库,不要每个record都去拿一次数据库连接。通常写法是每个partition拿一次数据库连接。 /** * 将统计结果写入MySQL中 * 代码优化: * 在进行数据库操作的时候,不要每个record都去...原创 2018-07-30 21:41:09 · 16093 阅读 · 0 评论 -
【十三】景区人流量统计:python日志生成+logstash+kafka+storm+mysql+springBoot+高德地图
storm+kafka+logstash+springBoot+高德地图项目概述:作用:交通信息化,智慧城市需求:实时统计人流量并通过热力图展示。类似于腾讯热力图的景区人流量统计如何采集某个区域人流量的数据:1.GPS:获取经纬度信息。2.手机移动网络信令:移动通信信令(数据样本容量大,覆盖范围广,数据稳定可靠)对信令信息的相应字段进行分析、挖掘、并结合GIS技...原创 2018-08-01 23:24:23 · 5830 阅读 · 1 评论 -
Spring Boot+高德地图热力图动态数据展示+MySQL
项目目录pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://原创 2018-08-01 23:51:31 · 4726 阅读 · 2 评论 -
【二】MyCAT主要作用、读写分离、负载均衡、垂直切分、水平切分概述
主要作用:1作为分布式数据库中间层使用。MyCAT由Java开发,理论上说所有可以使用JDBC连接的关系型数据库和非关系型数据库都能使用MyCAT。2.对主从数据库的读写分离、读的负载均衡。如果不用MyCAT,在每一个访问这套数据库的应用中都要实现读写分离的逻辑。如果MySQL是一主多从,主卦了,MyCAT会选一个从来读写,但是其他从不会同步新主的数据。所以MySQL是一主...原创 2018-08-08 15:39:43 · 2283 阅读 · 0 评论 -
【三】MyCAT安装及主要配置文件介绍
安装首先要有jdk1.7+下载MyCATcd /appwget http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz解压tar -zxvf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz修改配置文件c...原创 2018-08-08 19:55:12 · 610 阅读 · 0 评论 -
【四】MySQL索引及优化
参考Mysql索引介绍及常见索引的区别(转)学习MySQL优化原理,这一篇就够了!MySQL索引原理以及查询优化1.索引两种结构Hash索引MySQL中,只有Memory(Memory表只存在内存中,断电会消失,适用于临时表)存储引擎显示支持Hash索引,是Memory表的默认索引类型,尽管Memory表也可以使用B+Tree索引。hsah索引把数据的索引以hash形式组织...转载 2018-08-09 01:47:19 · 208 阅读 · 0 评论 -
【一】Linux安装mysql
环境ubuntu16.04 apt-get install mysql-server apt install mysql-clientapt install libmysqlclient-dev验证mysql工作状态systemctl status mysql.servicenetstat -tap | grep mysql 修改配置文件vi /etc/...原创 2018-06-04 22:59:40 · 196 阅读 · 0 评论