![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL基础与优化
从入门到精通
星星都没我亮
杭电计科小硕一枚
展开
-
mysql优化之覆盖索引
覆盖索引1、当发起一个被索引覆盖的查询时,在explain的extra列可以看到using index的信息,此时就使用了覆盖索引mysql> explain select store_id,film_id from inventory\G*************************** 1. row *************************** id: 1 select_type: SIMPLE table: inventory原创 2020-11-02 10:54:26 · 427 阅读 · 0 评论 -
mysql之分区表的底层原理
分区表的底层原理 分区表由多个相关的底层表实现,这个底层表也是由句柄对象标识,我们可以直接访问各个分区。存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引知识在各个底层表上各自加上一个完全相同的索引。从存储引擎的角度来看,底层表和普通表没有任何不同,存储引擎也无须知道这是一个普通表还是一个分区表的一部分。 分区表的操作按照以下的操作逻辑进行: select查询 当查询一个分区表的时候,分区层先打开并锁住所有的底层表,优化器先判断是否可以原创 2020-11-02 10:52:11 · 315 阅读 · 2 评论 -
mysql之范围分区
范围分区 范围分区表的分区方式是:每个分区都包含行数据且分区的表达式在给定的范围内,分区的范围应该是连续的且不能重叠,可以使用values less than运算符来定义。 1、创建普通的表CREATE TABLE employees ( id INT NOT NULL, fname VARCHAR(30), lname VARCHAR(30), hired DATE NOT NULL DEFAULT '1970-01-01', separated DA原创 2020-11-02 10:49:15 · 419 阅读 · 0 评论 -
mysql核心原理之主从复制
文章目录0、为什么需要主从复制?1、什么是mysql的主从复制?2、mysql复制原理原理:也就是说:注意:具体步骤:3、mysql主从形式(一)一主一从(二)主主复制(三)一主多从(四)多主一从(五)联级复制4、mysql主从同步延时分析0、为什么需要主从复制?1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。2、做数据的热备原创 2020-11-02 10:44:39 · 88 阅读 · 0 评论 -
mysql实践:主从复制安装配置
文章目录1、基础设置准备2、安装mysql数据库3、在两台数据库中分别创建数据库4、在主(node1)服务器进行如下配置:5、配置从服务器登录主服务器的账号授权6、从服务器的配置7、重启主服务器的mysqld服务8、重启从服务器并进行相关配置1、基础设置准备#操作系统:centos6.5#mysql版本:5.7#两台虚拟机:node1:192.168.85.111(主)node2:192.168.85.112(从)2、安装mysql数据库#详细安装和卸载的步骤参考对应的文档3、在两原创 2020-11-02 10:40:48 · 60 阅读 · 0 评论 -
mysql优化之执行计划详解
文章目录执行计划中包含的信息 在企业的应用场景中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQL语句的执行效率。 可以使用explain+SQL语句来模拟优化器执行SQL查询语句,从而知道mysql是如何处理sql语句的。 官网地址: https://dev.mysql.com/doc/refman/5.5/en/explain-output.html执行计划中包含的信息ColumnMeaningidThe S原创 2020-11-02 10:38:10 · 62 阅读 · 0 评论 -
mysql实验:事务测试
实验1、打开mysql的命令行,将自动提交事务给关闭--查看是否是自动提交 1表示开启,0表示关闭select @@autocommit;--设置关闭set autocommit = 0;2、数据准备--创建数据库create database tran;--切换数据库 两个窗口都执行use tran;--准备数据 create table psn(id int primary key,name varchar(10)) engine=innodb;--插入数据insert i原创 2020-11-02 10:29:30 · 298 阅读 · 0 评论 -
mysql核心知识点之读写分离
文章目录1、读写分离的介绍2、读写分离的配置1、硬件配置2、首先在master和slave上配置主从复制3、进行proxy的相关配置4、进行连接1、读写分离的介绍 MySQL读写分离基本原理是让master数据库处理写操作,slave数据库处理读操作。master将写操作的变更同步到各个slave节点。 MySQL读写分离能提高系统性能的原因在于: 1、物理服务器增加,机器处理能力提升。拿硬件换性能。 2、主从只负责各自的读和写,极大程度缓解X锁和S锁争用。 3、原创 2020-11-02 10:26:45 · 69 阅读 · 0 评论 -
mysql核心知识点之锁机制
文章目录1、MySQL锁的基本介绍2、MyISAM表锁注意:总结1、MySQL锁的基本介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 相对其他数据库而言,MySQL的锁机制比较简单,其最 显著的特点是不同的原创 2020-11-02 10:23:49 · 82 阅读 · 0 评论 -
MYSQL5.7安装详细步骤
文章目录0、更换yum源1、查看系统中是否自带安装mysql2、删除系统自带的mysql及其依赖(防止冲突)3、安装wget命令4、给CentOS添加rpm源,并且选择较新的源5、安装下载好的rpm文件6、安装成功之后,会在/etc/yum.repos.d/文件夹下增加两个文件7、修改mysql-community.repo文件8、使用yum安装mysql9、启动mysql服务并设置开机启动10、获取mysql的临时密码11、使用临时密码登录12、修改密码13、修改远程访问权限14、设置字符集为utf-8原创 2020-11-02 10:19:38 · 139 阅读 · 0 评论 -
MySQL之其他
文章目录视图变量存储过程和函数存储过程函数流程控制结构分支结构循环结构视图一、含义mysql5.1版本出现的新特性,本身是一个虚拟表,它的数据来自于表,通过执行时动态生成。好处:1、简化sql语句2、提高了sql的重用性3、保护基表的数据,提高了安全性二、创建create view 视图名as查询语句;三、修改方式一:create or replace view 视图名as查询语句;方式二:alter view 视图名as查询语句四、删除drop view 视图1原创 2020-11-01 19:04:31 · 77 阅读 · 0 评论 -
MySQL之事务操作
一、含义事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行二、特点(ACID)A 原子性:一个事务是不可再分割的整体,要么都执行要么都不执行C 一致性:一个事务可以使数据从一个一致状态切换到另外一个一致的状态I 隔离性:一个事务不受其他事务的干扰,多个事务互相隔离的D 持久性:一个事务一旦提交了,则永久的持久化到本地三、事务的使用步骤 ★了解:隐式(自动)事务:没有明显的开启和结束,本身就是一条事务可以自动提交,比如insert、update、delete显原创 2020-11-01 18:53:26 · 76 阅读 · 0 评论 -
MySQL之库、表操作
文章目录库的管理表的管理数据类型常见的约束库的管理一、创建库create database 【if not exists】 库名【 character set 字符集名】;二、修改库alter database 库名 character set 字符集名;三、删除库drop database 【if exists】 库名;表的管理一、创建表 ★create table 【if not exists】 表名(字段名 字段类型 【约束】,字段名 字段类型 【约束】,。。。字段名 字段原创 2020-11-01 18:51:09 · 112 阅读 · 0 评论 -
MySQL基本操作之增删改
文章目录插入修改删除插入一、方式一语法:insert into 表名(字段名,…) values(值,…);特点:1、要求值的类型和字段的类型要一致或兼容2、字段的个数和顺序不一定与原始表中的字段个数和顺序一致但必须保证值和字段一一对应3、假如表中有可以为null的字段,注意可以通过以下两种方式插入null值①字段和值都省略②字段写上,值使用null4、字段和值的个数必须一致5、字段名可以省略,默认所有列二、方式二语法:insert into 表名 set 字段=值,字段=值原创 2020-11-01 18:46:04 · 64 阅读 · 0 评论 -
MySQL基本操作之查询
文章目录基础查询条件查询排序查询常见函数分组查询连接查询子查询分页查询联合查询基础查询一、语法select 查询列表from 表名;二、特点1、查询列表可以是字段、常量、表达式、函数,也可以是多个2、查询结果是一个虚拟表三、示例1、查询单个字段select 字段名 from 表名;2、查询多个字段select 字段名,字段名 from 表名;3、查询所有字段select * from 表名4、查询常量select 常量值;注意:字符型和日期型的常量值必须用单引号引起来,数值原创 2020-11-01 18:40:20 · 279 阅读 · 0 评论 -
MySQL初步认识
文章目录数据库相关概念MySQL的介绍数据库相关概念一、数据库的好处1、可以持久化数据到本地2、结构化查询二、数据库的常见概念1、DB:数据库,存储数据的容器2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB3、SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言三、数据库存储数据的特点1、数据存放到表中,然后表再放到库中2、一个库中可以有多张表,每张表具有唯一的表名用来标识自己3、表中有一个或多原创 2020-11-01 18:25:58 · 115 阅读 · 0 评论