MySQL

MySQL复合查询和内外连接的操作代码

一、复合查询 1.1 多表查询 实际开发中往往数据来自不同的表,所以需要多表查询,但是可以将多张表做笛卡尔积后的表当做是一张表,也就是单表查询。我们用一个简单的公司管理系统,有三张表EMP、DEPT、SALGRADE来演示如何进行多表查询。 语法:from...

MySQL 中这么多索引该怎么选择

前言 索引的本质是存储引擎用于快速查询记录的一种数据结构。特别是数据表中数据特别多的时候,索引对于数据库的性能就愈发重要。 在数据量比较大的时候,不恰当的索引对于数据库的性能的影响是非常大的。在实际的应用中常常会遇见使用错误的索引而导致一系列问题,所以,选...

MySQL与PHP的基础与应用专题之索引

概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识. 索引 索引 (Index) 是一种特殊的数据结构, 类似于图书的目录. 索引能够极大的提升数据库的查询效率. 如果没有索引, 在查询数据时必须扫描表中的说有记录才能找出符合条件的记录, 这...

MySql索引原理与操作

1. 什么是索引 索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。 一张表的一个字段可以添加一个索引,当然,多个字段联合起来也可以添加索引。 索引相当于一本书的目录,是为了缩小扫描范围而存在的一种机制。 索引相当于一本书的目录 通过索引查...

MySQL执行计划详解

一、MySQL执行计划介绍 在MySQL中,执行计划的实现是基于JOIN和QEP_TAB这两个对象。其中JOIN类表示一个查询语句块的优化和执行,每个select查询语句(即Query_block对象)在处理的时候,都会被当做JOIN对象,其定义在sql/...

update.where无索引导致MySQL死锁问题解决

[var] 随着我被拉入一个新的群聊“生产环境死锁问题排查解决”,打破了午后的悠然惬意,点开群聊秒送了一个648超级大礼包(业务不正常,死锁异常日志输出),领导怒斥并要求赶紧排除解决并总结经验,刚好我略懂略懂一点MySQL锁知识,这...

Mysql字符集和排序规则详解

前言 计算机存储数据的方式都是二进制数据,但是我们在mysql中存储的是字符串数据,那么这些数据到底在Mysql中如何存储呢?这就涉及到字符集的概念。 什么是字符集 举例如下,假设存在编码集test,只能识别a,b,A,B这几项,同时编码规则如下: a&#...

一文教会你在MySQL中使用DateTime

MySQL 日期时间教程   在本教程中,我将通过示例解释 MySQL DATE 和 TIME 函数。    DATETIME 用于存储日期和时间的值。默认情况下,DATETIME 值的范围从 1000-01-01 00:00...

Mysql使用sum()函数返回null的问题详解

介绍 SUM()函数用于计算一组值或表达式的总和,SUM()函数的语法如下: SUM(DISTINCT expression) SUM()函数是如何工作的? 如果在没有返回匹配行SELECT语句中使用SUM函数,则SUM函数返回NULL,而不是0。 DIS...

解读mysql中的null问题

mysql的null问题 (1) 使用统计函数的时候会出现null值得情况 注意点 sum avg max min 都有可能出现为null的问题 而且 sum avg max min count(具体字段) 都会忽略null的数据 count(*) 不会忽...