
MySql
Lin_Dong_Tian
不积跬步,无以至千里!
展开
-
MySQL存储引擎MyISAM和InnoDB底层索引结构
一、存储引擎作用于什么对象存储引擎是作用在表上的,而不是数据库。二、MyISAM和InnoDB对索引和数据的存储在磁盘上是如何体现的创建的两张表信息,role表使用的存储引擎是MyISAM,而user使用的是InnoDB:再来看下两张表在磁盘中的索引文件和数据文件:1. role表有三个文件,对应如下:role.frm:表结构文件role.MYD:数据文件(MyISAM D...转载 2019-10-16 08:00:50 · 276 阅读 · 0 评论 -
MySQL优化原理
MySQL查询过程我们总是希望MySQL能够获得更高的查询性能,最好的办法是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,就会发现:很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。当向MySQL发送一个请求的时候,MySQL到底做了些什么呢?客户端/服务端通信协议 MySQL客户端/服务端通信协议是“半双工”的:在...转载 2019-10-11 09:21:12 · 165 阅读 · 0 评论 -
MYSQL从0到1(八):优化
这两天看了享学课题的公开课,挺好的,总结一下针对面试题:当服务器运行慢了,你对MYSQL采取什么优化措施?1、硬件方面:服务器硬件:机械硬盘效率相比固态硬盘约10倍差距,尽量采取固态硬盘。2、软件方面: MySQL服务器优化,Linux(稳定),Windows相对不稳定,运行时可能产生垃圾,所有尽量安装在Linux上。3、程序员的对SQL语句的优化:(1)首先,我们要定位究竟...原创 2019-09-30 11:00:33 · 175 阅读 · 0 评论 -
MYSQL从0到1(七):触发器
一、什么是触发器?触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的特性: 1、有begin end体,begin end;之间的语句可以写的简单或者复杂 2、什么条件会触发:I、D、U 3、什么时候触发:在增删改前或者后 4、触发频率:针对每一行执行 5、触发器定义在表上,附着在表上。也就是由事件来触发某个操作...转载 2019-09-30 08:40:40 · 183 阅读 · 0 评论 -
Mysql从0到1(六):联结查询
一、什么是联结如果数据存储在多个表中,怎么用单条SELECT语句检索出数据?答案就是使用联结,直接举例子:SELECT vend_name, prod_name, prod_priceFROM vendors, productsWHERE vendors.vend_id = products.vend_idORDER BY vend_name, prod_nam...原创 2019-09-29 16:56:56 · 215 阅读 · 0 评论 -
Mysql从0到1(五):使用子查询
子查询:嵌套在其他查询中的查询,举例分析吧1、查询出订购购物品TNT2的所有客户ID(1)查包含TNT2的所有订单编号20005和20007select order_num from orderitems where order_name = 'TNT2';(2)查出具有订单号的客户select cust_id from orders whereorder_num IN (2...原创 2019-09-29 12:29:33 · 156 阅读 · 0 评论 -
Mysql从0到1(四):函数
一、计算字段:字段之间可以进行拼接和其别名:Concat(字段一,+‘(’,字段2,+‘)’)as Xas主要作用是起别名,常规来说都可以省略,但是为了增加可读性,不建议省略。二、函数:SQL支持使用函数来处理数据(1)文本处理函数1、RTrim(字段) :去掉尾部多于的空格2、Upper(字段):把文本转为大写SELECT vend_name,Upper(vend_...原创 2019-09-29 11:42:46 · 179 阅读 · 0 评论 -
mysql从0到1(三):简单查询
一般约定: 虽然SQL不区分大小写,但是对于我们会对SQL关键字使用大写,对表名和列名使用小写。 一条SQL语句可以不使用;对于多条SQL语句必须用分号隔开。一、简单查询1、检索单个列:SELECTprod_nameFROM products2、检索多个列:SELECT prod_id,prod_name FROM products...原创 2019-09-29 10:14:19 · 155 阅读 · 0 评论 -
mysql从0到1(二)
在创建数据库之后,接下来就要在数据库中创建数据表。所谓创建数据表,指的是在已经创建的数据库中建立新表。1、创建表CREATE TABLE <表名> ([表定义选项])[表选项][分区选项];<表定义选项>:表创建定义,由列名(col_name)、列的定义(column_definition)以及可能的空值说明、完整性约束或表索引组成。提示:使用 CREATE ...原创 2019-09-29 08:20:46 · 173 阅读 · 0 评论 -
安装mysql8.0.12以及修改密码和Navicat的连接
mysql8.0+与安装其他版本不同一、安装mysql8.0.121、到官网https://www.mysql.com/下载mysql-8.0.12-winx64.zip(不要.mis),直接解压即可;2、配置环境变量中的Path,把安装目录的bin路径添加进去;3、使用管理员权限打开命令行,切换到mysql-8.0.12-winx64\bin路径;4、mysqld --ini...原创 2019-09-27 15:36:08 · 230 阅读 · 0 评论 -
mysql从0到1(一)
数据存储方式 计算机数据(Data)的存储一般以硬盘为数据存储空间资源,从而保证计算机内的数据能够持续保存。对于数据的处理,一般会采用数据库相关的技术进行处理,从而保证数据处理的高效性。 采用数据库的管理模式不仅提高了数据的存储效率,而且在存储的层面上提高了数据的安全性。通过分类的存储模式让数据管理更加安全便捷,更能实现对数据的调用和对比,并且方便查询等操作的使用。什么...原创 2019-09-27 09:48:40 · 818 阅读 · 0 评论 -
mysql的索引类型有多少种,种类有多少种,区别是什么
一、索引 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。(1)索引分 单列索引 和 组合索引。 1、单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。 2、组合索引,即一个索引包含多个列。(2)创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子...原创 2019-09-24 09:59:59 · 2809 阅读 · 0 评论 -
MySQL 删除表的几种情况:
MySQL 删除表的几种情况:1、drop table table_name : 删除表全部数据和表结构,立刻释放磁盘空间,不管是 Innodb 和 MyISAM;2、truncate table table_name : 删除表全部数据,保留表结构,立刻释放磁盘空间 ,不管是 Innodb 和 MyISAM; 这个命令可以让表索引从1开始。3、delete from...转载 2019-09-19 09:43:29 · 2444 阅读 · 0 评论 -
MYSQL从0到1(九):MySql索引底层原理
一、简介 MySQL官方对于索引的定义为:索引是帮助MySQL高效获取数据的数据结构。即:索引是数据结构。 我们知道,数据库查询是数据库最主要的功能之一,我们都希望查询数据的速度尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找,当然这种时间复杂度为O(n)的算法在数据量很大时显然是糟糕的,于是有了二分查找、二叉树查找等,查询的时间复杂度为...转载 2019-06-25 16:39:01 · 750 阅读 · 0 评论