![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
--------MySQL
薛宇Chelly
小树不倒我不倒--18岁程序员想当歌手
展开
-
MySQL:整体概述
MySQL作为常用的数据库总体分为四层。1.连接层 最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。 ...原创 2018-07-28 21:30:19 · 293 阅读 · 9 评论 -
MySQL:ERROR 1366 (HY000)错误解决
在做实验的时候出现了这个问题。插入汉字出错,明显是因为编码的问题解决:一.检查数据表所有字段的状态:SHOW FULL COLUMNS FROM user; 二:修改字符集为utf_8alter table user change name name varchar(20) character set utf8 collate utf8_unicode_ci not n...原创 2018-07-26 10:40:27 · 33305 阅读 · 11 评论 -
MySQL索引
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。一可以得到索引的本质:索引是数据结构。索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要a----z,如果我想找到Java开头的单词呢?或者Oracle开头的单词呢?是不...原创 2018-07-31 21:46:47 · 212 阅读 · 1 评论 -
MySQL:性能分析(一)
一 MySql Query Optimizer 查询优化器1 Mysql中有专门负责优化SELECT语句的优化器模块,主要功能:通过计算分析系统中收集到的统计信息,为客户端请求的Query提供他认为最优的执行计划(他认为最优的数据检索方式,但不见得是DBA认为是最优的,这部分最耗费时间)2 当客户端向MySQL 请求一条Query,命令解析器模块完成请求分类,区别出是 SELECT 并转发...原创 2018-07-31 21:54:17 · 305 阅读 · 2 评论 -
MySQL:性能分析(二)关键字详解
Id:表的读取顺序select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序三种情况id相同,执行顺序由上至下如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行id如果相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优先级越高,越先执行衍生 = DERIVEDSelect_type:数据读取操作的操作类型 ...原创 2018-07-31 21:54:08 · 704 阅读 · 1 评论 -
MySQL:索引优化
1全值匹配我最爱2最佳左前缀法则:如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列。3不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描4存储引擎不能使用索引中范围条件右边的列5尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select *6mysql 在使用不等于(!= 或者&l...原创 2018-07-31 22:29:41 · 356 阅读 · 4 评论