MySQL学习笔记(Day009:JSON)

一. MySQL JSON类型

1. JSON介绍

  • JSONJavaScript Object Notation)是一种轻量级的数据交换语言,并且是独立于语言的文本格式。
  • 一些NoSQL数据库选择JSON作为其数据存储格式,比如:MongoDB、CouchDB等。
  • MySQL5.7.x开始支持JSON数据类型。
阅读全文 »

MySQL学习笔记(Day012:子查询/INSERT/UPDATE/DELETE/REPLACE)

一. 子查询

子查询就是指在一个select语句中嵌套另一个select语句。同时,子查询必须包含括号。
MySQL 5.6.x 版本之前,MySQL的子查询性能较差,但是从5.6开始,不存在性能差的问题。

1
select a from t1 where a > any(select a from t2);
阅读全文 »

MySQL学习笔记(Day014:触发器下/存储过程/自定义函数)

一. 作业讲解

  • 查询employees表中非基层用户的最近详细信息

    关于Group By在《SQL必知必会》中提及的部分规定:

    1. GROUP BY子句中列出的每一列都必须是检索列或有效的表达式(但不能是聚集函数)。如果在SELECT中使用表达式,则必须在GROUP BY子句中指定相同的表达式。不能使用别名。
    2. 除聚集计算语句外,SELECT语句中的每一列都必须在GROUP BY子句中给出
阅读全文 »

MySQL学习笔记(Day019:磁盘测试)

一. 磁盘调度算法介绍

1. CFQ

CFQ把I/O请求按照进程分别放入进程对应的队列中,所以A进程和B进程发出的I/O请求会在两个队列中。而各个队列内部仍然采用合并和排序的方法,区别仅在于,每一个提交I/O请求的进程都有自己的I/O队列。
CFQ的“公平”是针对进程而言的,它以时间片算法为前提,轮转调度队列,默认从当前队列中取4个请求处理,然后处理下一个队列的4个请求。这样就可以确保每个进程享有的I/O资源是均衡的。
CFQ的缺点是先来的IO请求不一定能被及时满足,可能出现饥饿的情况。
CFQ Wiki

阅读全文 »

MySQL学习笔记(Day008:数据类型)-v2.0

一. INT类型

1. INT类型的分类

  • TINYINT
    • 存储空间 : 1 字节
    • 取值范围
      • 有符号(signed) : [-128, 127]
      • 无符号(unsigned) :[0, 255]
阅读全文 »

MySQL学习笔记(Day015-Day016:索引/B+树/Explain)

一. 索引

1. 索引的定义

索引是对记录按照一个或者多个字段进行排序的一种方式。对表中的某个字段建立索引会创建另一种数据结构,其中保存着字段的值,每个值又指向与它相关的记录。这种索引的数据结构是经过排序的,因而可以对其执行二分查找。且性能较高

阅读全文 »