
高级mysql
站在最高处呐喊的男人!
租房请下载:房东直租APP
展开
-
(ainusers原创) mysql优化器学习
mysql优化器:(驱动程序的选择,主要依赖于索引的创建)开发人员或者dba写出来的sql语句,有些时候会在sql语句的写法上面有一定的优化空间,mysql优化器会对sql进行相关的优化,提高sql语句的执行效率案例1优化器调用代码展示主要优化内容如下一、优化恒定关系7.2.1.1恒定传播7.2.1.2消除死代码(where条件中永远成立或者永远不成立的条件...原创 2018-10-08 16:13:17 · 253 阅读 · 0 评论 -
mysql性能优化_分表
我是根据这两篇文章来实现的,但是这两篇文章写的都不太细致,所以我在这里写一篇基于这两篇文章的原创https://blog.youkuaiyun.com/qq_29423883/article/details/78926553http://www.cnblogs.com/lucky-man/p/6207873.html主要思想呢,就是建一张虚拟表(MRG_MYISAM引擎),按照一定的规则对要拆分表...原创 2018-11-14 17:21:31 · 320 阅读 · 0 评论 -
MYSQL的查询优化(学习优化sql的步骤)
1.慢查询mysql自身是有一个慢查询时间和慢查询记录的,但是在默认情况下,我们的mysql不会记录慢查询,需要在启动mysql时候,指定记录慢查询才可以(1)使用show variables like 'long_query_time'命令,查看慢查询时间现在慢查询时间是10s,但是我们可以通过set long_query_time对其进行临时修改(关闭掉这次会话之后慢查询时间会...转载 2018-10-10 18:39:37 · 588 阅读 · 0 评论 -
索引的理解
什么时候要使用索引?主键自动建立唯一索引; 经常作为查询条件在WHERE或者ORDER BY 语句中出现的列要建立索引; 作为排序的列要建立索引; 查询中与其他表关联的字段,外键关系建立索引 高并发条件下倾向组合索引;什么时候不要使用索引?经常增删改的列不要建立索引; 有大量重复的列不建立索引; 表记录太少不要建立索引;常见的索引类型有:主键索引、唯一索引、普通索引、全文索...原创 2018-10-10 17:28:00 · 330 阅读 · 0 评论 -
(ainusers原创)sql执行顺序
sql执行顺序:from->on->join->where->group by(后续可以使用别名)->avg,sum...->having->select->distinct->union->order by->limit注:SELECT 是在大部分语句执行了之后才执行的,严格的说是在 FROM 和 GROUP BY 之后执...原创 2018-10-10 17:08:41 · 281 阅读 · 0 评论 -
(ainusers转载优秀文章)SQL优化之my.cnf
[client]default-character-set=utf8mb4#mysqlde utf8字符集默认为3位的,不支持emoji表情及部分不常见的汉字,故推荐使用utf8mb4 [mysql]default-character-set=utf8mb4 [mysqld]skip-locking #避免MySQL的外部锁定,减少出错几率增强稳定性。 #skip-name...转载 2018-10-10 16:59:54 · 309 阅读 · 0 评论 -
(ainusers原创)Hash索引和BTree索引
注:Innodb和myisam默认的索引是Btree索引Hash索引(类比于拼音查找汉字) BTree(类比于偏旁查找汉字)区别(了解Innodb和myisam主要还应该从区别开始)1.主要区别在于:Hash不能用于范围查找2.检索效率远高于BTree索引3.联合索引(复合索引)中,Hash索引不能利用部分索引键查询4.BTree支持的联合索引的最优前缀,Hash要...原创 2018-10-10 15:35:25 · 261 阅读 · 0 评论 -
(ainusers原创)最左前缀原则【BTree索引支持】
首先必须了解几个概念:单列索引,复合索引,最左前缀原则(我自己起名为:通关有序原则)1. 索引建立的原则用于索引的最好的备选数据列是那些出现在WHERE子句、join子句、ORDER BY或GROUP BY子句中的列。仅仅出现在SELECT关键字后面的输出数据列列表中的数据列不是很好的备选列2.单列索引举个栗子 索引index(lname) 走索引情况 S...原创 2018-10-10 14:28:47 · 690 阅读 · 0 评论 -
(ainusers原创)InnoDB存储引擎
InnoDB存储引擎1.简介2.原创 2018-10-09 18:40:03 · 201 阅读 · 0 评论 -
(ainusers原创)数据库主键、外键
主键学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 联合主键成绩表(学号,课程号,成绩) 成绩表中一个属性无法唯一标识一条记录,学号和课程号组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键 外键成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键主键...原创 2018-10-09 17:21:18 · 262 阅读 · 0 评论 -
(ainusers原创)聚集索引与非聚集索引
本文参考其他优秀文章做下总结,随后附上原链简介索引概念:索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构索引结构:B+树(支持查询较全),Hash结构(不支持范围查询)聚集索引以及非聚集索引用的是B+树索引聚集索引(类似于id [主键唯一])定义:数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同,一个表中只能拥有一个聚集索引。举栗子:新华字典的拼...原创 2018-10-09 16:10:56 · 392 阅读 · 0 评论 -
(ainusers原创)sql语句WITH语法(公用表表达式)mysql8.0
WITH语法(公用表表达式)WITH语法使用场景(第一次我没有看太明白,以下每一个with ... select ...,都是如上截图中结构的缩写)WITH错误用法递归公用表表达式格式要求递归公用表分析递归公用表案例原始数据结构目标数据结构...原创 2018-10-09 14:43:46 · 1576 阅读 · 0 评论 -
(ainusers原创)mysql优化
一、数据库级别进行优化(表结构,字段类型,索引,存储引擎/表,表字段数量/[频繁更新/分析])二、硬件级别进行优化(磁盘IO,CPU,内存带宽)一、优化sql语句1.where条件优化 2.range范围优化(1)单部分索引(默认:btree)(2)...原创 2018-10-08 18:38:28 · 240 阅读 · 0 评论 -
Explain详述(Sql查询优化器)
explain用法explain可以帮助我们分析select语句,找出select语句的瓶颈,从而可以针对性地去做优化,让MySQL查询优化器更好地工作。MySQL查询优化器有几个目标,其中最主要的目标是尽可能地使用索引,并且使用最严格的索引来消除尽可能多的数据行。使用explain+select语句,会返回以下的一个表: 下面对上述表的每一列进行说明:1.1 id列说...转载 2018-10-08 16:35:52 · 343 阅读 · 0 评论 -
MySQL 5.7数据库参数优化
max_connections:允许客户端并发连接的最大数量,默认值是151,一般将该参数设置为500-2000max_connect_errors:如果客户端尝试连接的错误数量超过这个参数设置的值,则服务器不再接受新的客户端连接。可以通过清空主机的缓存来解除服务器的这种阻止新连接的状态,通过FLUSH HOSTS或mysqladmin flush-hosts命令来清空缓存。这个参数的默认值是...原创 2018-11-15 10:30:45 · 665 阅读 · 0 评论