mysql
文章平均质量分 90
m0_58969269
这个作者很懒,什么都没留下…
展开
-
Innodb存储引擎 索引优化查询管理
Innodb 索引优化管理实验环境索引优化的实验效果需要在一张表中有海量数据的情况下,实验效果才会比较明显,我们在实验前需要先准备一张300万条数据的表。# 创建表格create table t1(id int,name varchar(20),gender char(6),email varchar(50));# 创建存储过程,插入3000000条数据delimiter $$create procedure auto_insert1()BEGIN declare ...原创 2021-07-20 19:45:25 · 114 阅读 · 0 评论 -
Innodb存储引擎 索引原理详解
索引介绍什么是索引?索引是存储引擎中一种数据结构,或者说数据的组织方式,又称之为键key,是存储引擎用于快速找到记录的一种数据结构。为数据建立索引就好比是为书建目录,或者说是为字典创建音序表,如果要查某个字,如果不使用音序 表,则需要从几百页中逐页去查。为何要用索引?一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的、也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然 是重中之重。说起加速查询,就不得不提到索引原创 2021-07-20 19:32:07 · 746 阅读 · 0 评论 -
Innodb存储引擎 表空间详解
MySQL组织架构连接层验证用户的身份,用户名密码是否匹配 提供两种连接方式(TCP/IP连接、socket连接) 连接层提供了一个与sql层交互的线程SQL层接收连接层传过来的SQL语句验证执行的SQL语法验证SQL的语义(DDL,DML,DQL,DCL)解析器:解析SQL语句,生成执行计划优化器:将解析器传来的执行计划选择最优的一条执行执行器:将最优的一条执行6.1 与存储引擎层建立交互的线程6.2 将要执行的sql发给存储引擎层如果有缓存,则走缓存记录日志.原创 2021-07-20 19:16:17 · 364 阅读 · 0 评论 -
MySQL存储引擎 lnnoDB的逻辑架构详解 InnoDB存储引擎执行流程
连接层验证用户的身份,用户名密码是否匹配 提供两种连接方式(TCP/IP连接、socket连接) 连接层提供了一个与sql层交互的线程SQL层1.接收连接层传过来的SQL语句2.验证执行的SQL语法3.验证SQL的语义(DDL,DML,DQL,DCL)4.解析器:解析SQL语句,生成执行计划5.优化器:将解析器传来的执行计划选择最优的一条执行6.执行器:将最优的一条执行7.6.1 与存储引擎层建立交互的线程6.2 将要执行的sql发给存储引擎层8.如果有缓存,则走缓...原创 2021-07-20 18:55:24 · 274 阅读 · 0 评论 -
MySQL数据库 权限管理
权限管理mysql库下的授权表linux系统的用户作用是:登陆系统 管理系统文件mysql数据库管理软件用户的则作用是:登陆MySQL数据库 管理库与表等数据库对象mysql数据库管理软件将权限信息都存放于mysql库下,该库下有一系列授权表,权限信息都存放于这一系列表中,我们挑几个重点介绍一下mysql库下的授权表及其放行权限的范围 1、mysql.user 针对所有数据、所有库下所有表、以及表下的所有字段 2、msyql.db...原创 2021-07-13 21:28:03 · 646 阅读 · 0 评论 -
视图 触发器 函数 流程控制 存储过程 SQL注入问题
视图视图就是通过查询得到一张虚拟表(非真实存在),然后保存下来,下次可以直接使用,用户使用时直接使用【视图表名】即可获取结果集。视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极为不便,因此并不推荐使用。使用视图的注意点: 1.创建视图在硬盘上只会有表结构,没有表数据,数据并没有存在硬盘(数据还是来自之前的表) 2.视图一般只用来查询,里面的数据不要进行修改,可能会影响真正的表创建视图语法 c...原创 2021-07-13 21:17:36 · 127 阅读 · 0 评论 -
数据库多表查询
多表查询准备员工表和部门表# 部门表create table dep (id int,name varchar(20));# 员工表create table emp (id int primary key auto_increment,name varchar(20),sex enum("male","female") not null default "male",age int,dep_id int);# 插入数据insert into dep values(原创 2021-07-13 21:06:31 · 130 阅读 · 0 评论 -
单表操作(修改表字段 复制表 表数据迁移) 单表查询
修改表字段create table t1(id int);desc t1;+-------+---------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+---------+------+-----+---------+-------+| id | int(11) | YES | | NULL | |+-------+-...原创 2021-07-13 20:58:19 · 152 阅读 · 0 评论 -
SQL外键foreign key 表与表之间的三种关系
表与表之间的三种关系多对一关系表注意事项:一对多表关系,外键字段建在多的一方。 在创建表的时候,一定要先建被关联表。 在录入数据的时候,也必须先录入被关联表。 删除 一定要先删除主键表,才可以删除被关联表。# 创建表先创建被关联表(班级表)create table class(id int primary key auto_increment,name varchar(16),room int);create table student(id int primary.原创 2021-07-13 20:48:30 · 388 阅读 · 0 评论