随笔分类 - MySQL
摘要:1.GROUP BY分组统计分组中某个值的数量 SELECT SUM(CASE WHEN (address ='天津' AND is_retire = 1) THEN 1 ELSE 0 END) AS 天津退休人数 FROM USER GROUP BY 性别; 2.GROUP BY分组多个值分隔 ,
阅读全文
摘要:1.下面的这条语句 统计出来的数据是不准确的 因为还没有及时更新 如果第一个很大 只需要用count(*) 查一下实际的就行了 select table_name,table_rows from information_schema.tables where table_name = 'jt808_
阅读全文
摘要:我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: com.mysql.jdbc.PacketTooBigException: Packet for q
阅读全文
摘要:1.下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 直接点击下载项 下载后: 2.可以把解压的内容随便放到一个目录,我的是如下目录(放到C盘的话,可能在修改ini文件时涉及权限问题,之后我就改放D盘了): D:\MySQL\
阅读全文
摘要:一.检索数据 1.检索单个列:SELECT prod_name FROM products; 2.检索多个列:SELECT prod_id,prod_name,prod_price FROM products; 3.检索所有列:SELECT * FROM products; 4.检索不同的行:SEL
阅读全文
摘要:一.分区表 在下面的场景中,分区可以起到非常大的作用: 分区表本身也有一些限制,下面是其中比较重要的几点: 1.分区表的原理 分区表由多个相关的底层表实现,这些底层表也是由句柄对象(Handlerobject)表示,所以我们也可以直接访问各个分区。存储引擎管理分区的各个底层表和管理普通表一样(所有的
阅读全文
摘要:一.为什么查询速度会慢 MySQL在执行查询的时候有哪些子任务,哪些子任务运行的速度很慢?这里很难给出完整的列表。通常来说,查询的生命周期大致可以按照顺序来看:从客户端,到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端。其中“执行”可以认为是整个生命周期中最重要的阶段,这其中
阅读全文
摘要:索引(在MySQL中也叫做“键(key)”)是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。在数据量较小且负载较低时,不恰当的索引对性能的影响可能还不明显,但当数据量逐渐增大时,性能则会急剧下降。 一.索引的基础 1.索
阅读全文
摘要:基准测试是MySQL新手和专家都需要掌握的一项基本技能。简单地说,基准测试是针对系统设计的一种压力测试。 一.为什么需要基准测试 为什么基准测试很重要?因为基准测试是唯一方便有效的、可以学习系统在给定的工作负载下会发生什么的方法。基准测试可以观察系统在不同压力下的行为,评估系统的容量,掌握哪些是重要
阅读全文
摘要:MySQL服务器逻辑架构图: 一.事务 1.四个特性:原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)。 2.隔离级别 (1)READ UNCOMMITTED(未提交读) 事务中的修改,即使没有提交,对其他事务也都是可见的。
阅读全文
摘要:书籍推荐 《SQL基础教程(第2版)》 (入门级) 《高性能MySQL : 第3版》 (进阶) 文字教程推荐 SQL Tutorial (SQL语句学习,英文)、SQL Tutorial(SQL语句学习,中文)、SQL语句在线练习 (非常不错) Github-MySQL入门教程(MySQL tuto
阅读全文
摘要:一.性能下降原因 查询语句写的烂、索引失效(单值、复合)、关联查询太多join、服务器调优及各个参数设置(缓冲、线程数等) 二.哪些情况适合建索引 三.哪些情况不适合建索引 四.性能分析之Explain 在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意
阅读全文
摘要:一.基础查询 1.查询全部列 SELECT *FROM 表名; 2.查询特定的列: SELECT id, name FROM student; 3.起别名: SELECT 列名1 AS "列1别名",列名2 AS "列2别名" FROM 表名; 或 SELECT 列名1 "列1别名",列名2 "列2
阅读全文