牧师先生

跟着梦想去远方


  • 首页

  • 分类

  • 归档

  • 小工具

触发器下/存储过程/自定义函数

发表于 2019-10-01 | 分类于 mysql
MySQL学习笔记(Day014:触发器下/存储过程/自定义函数)@(MySQL学习) [TOC] 一. 作业讲解 查询employees表中非基层用户的最近详细信息 关于Group By在《SQL必知必会》中提及的部分规定: GROUP BY子句中列出的每一列都必须是检索列或有效的表达式(但不能是聚集函数)。如果在SELECT中使用表达式,则必须在GROUP BY子句中指定相同的表达式。不能使用别名。 除聚集计算语句外,SELECT语句中的每一列都必须在GROUP BY子句中给出。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647SELECT e.emp_no, CONCAT(last_name, ' ...
阅读全文 »

作业讲解一/Rank/视图/UNION/触发器

发表于 2019-10-01 | 分类于 mysql
MySQL学习笔记(Day013:作业讲解一/Rank/视图/UNION/触发器)@(MySQL学习) [TOC] 一. 作业讲解 查询employees表中非基层用户的最近详细信息 老师的讲解的版本中存在问题,重新作为作业 统计dbt3库下orders每周每个客户的订单数量 思路 找到订单中最小周(week)之前的一周的周一,这里进行了简化,使用了1970-01-05作为周一标记,作为起始(start) 12345678[root@MyServer ~]> cal 1 1970 January 1970 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 # 1970-01-05 刚好是周一,用1月12号,19号,26号等也是可以的11 12 1 ...
阅读全文 »

子查询/INSERT/UPDATE/DELETE/REPLACE

发表于 2019-10-01 | 分类于 mysql
MySQL学习笔记(Day012:子查询/INSERT/UPDATE/DELETE/REPLACE)@(MySQL学习) [TOC] 一. 子查询 子查询就是指在一个select语句中嵌套另一个select语句。同时,子查询必须包含括号。MySQL 5.6.x 版本之前,MySQL的子查询性能较差,但是从5.6开始,不存在性能差的问题。 1select a from t1 where a > any(select a from t2); select a from t1 是外部查询(outer query) (select a from t2) 是子查询 一般说来,子查询嵌套于外部查询中,可以将两个或两个以上的子查询进行嵌套 1. 子查询的使用1.1. ANY / SOME如果外部查询的列的结果和子查询的列的结果比较得到为True的话, ...
阅读全文 »

存储引擎二/多实例安装

发表于 2019-10-01 | 分类于 mysql
MySQL学习笔记(Day001-002:介绍和安装)@(MySQL学习) [TOC] ##一.MySQL版本选择 MySQL5.6以后的版本,推荐使用官方版本。 Percona:在5.6版本以后,MySQL将Percon之前优化集成到官方版本中; MariaDB:无INNODB;且核心代码较老 MySQL在5.6以后不断重构源码,安装包越来越大,功能和性能在持续改进 二. MySQL官方网站介绍官方网站:http://www.mysql.com Developer Zone: MySQL开发工程师板块 Articles: Oracle工程师自己的博客 Plant MySQL: 和MySQL相关从业人员的博客 Bugs:MySQL BugList Worklog:开发记录 Labs:MySQL实验性项目 Downloads:MySQL下 ...
阅读全文 »

MySQL JSON格式

发表于 2019-10-01 | 分类于 mysql
MySQL学习笔记(Day009:JSON)@(MySQL学习) [TOC] 一. MySQL JSON类型1. JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换语言,并且是独立于语言的文本格式。 一些NoSQL数据库选择JSON作为其数据存储格式,比如:MongoDB、CouchDB等。 MySQL5.7.x开始支持JSON数据类型。 官方文档(JSON类型) 2. JSON格式示例12345678910111213141516171819202122232425262728---- 摘自 维基百科--{ "firstName": "John", -- Key : Value 格式 "lastName": "Smith", "sex": "male", ...
阅读全文 »

数据类型

发表于 2019-10-01 | 分类于 mysql
MySQL学习笔记(Day008:数据类型)@(MySQL学习) [TOC] 一. INT类型1. INT类型的分类 TINYINT 存储空间 : 1 字节 取值范围 有符号(signed) : [-128, 127] 无符号(unsigned) :[0, 255] SMALLINT 存储空间 : 2 字节 取值范围 有符号(signed) : [-32768, 32767] 无符号(unsigned) :[0, 65535] MEDIUMINT 存储空间 : 3 字节 取值范围 有符号(signed) : [-8388608, 8388607] 无符号(unsigned) :[0, 16777215] INT 存储空间 : 4 字节 取值范围 有符号(signed) : [-2147483648, 2 ...
阅读全文 »

MySQL多实例下/SSL

发表于 2019-10-01 | 分类于 mysql
MySQL学习笔记(Day007:多实例下/SSL)@(MySQL学习) [TOC] 一. 多实例安装 – 多版本1. [mysqld_multi]标签 [mysqld_multi] 是否需要配置从操作演示来看,在my.cnf(老师给的模板配置)上直接配置[mysqld1]、[mysqld2]等实例标签,而不配置[mysqld_multi],使用mysqld_multi start 1也是可以启动数据库实例的,但是没有mysqld_safe的守护进程。所以该标签需要配置 2. 停止mysql实例 multi_admin用户的作用通过官方文档中我们看到,'multi_admin'@'localhost'这个用户主要的作用是用来关闭数据库实例,因为文档中只授权了SHUTDOWN权限。所以在[mysqld_multi]标签 ...
阅读全文 »

磁盘测试

发表于 2019-10-01 | 分类于 mysql
MySQL学习笔记(Day019:磁盘测试)@(MySQL学习) [TOC] 一. 磁盘调度算法介绍1. CFQ CFQ把I/O请求按照进程分别放入进程对应的队列中,所以A进程和B进程发出的I/O请求会在两个队列中。而各个队列内部仍然采用合并和排序的方法,区别仅在于,每一个提交I/O请求的进程都有自己的I/O队列。CFQ的“公平”是针对进程而言的,它以时间片算法为前提,轮转调度队列,默认从当前队列中取4个请求处理,然后处理下一个队列的4个请求。这样就可以确保每个进程享有的I/O资源是均衡的。CFQ的缺点是先来的IO请求不一定能被及时满足,可能出现饥饿的情况。CFQ Wiki 2. Deadline 同CFQ一样,除了维护一个拥有合并和排序功能的请求队列以外,还额外维护了两个队列,分别是读请求队列和写请求队列,它们都是带有超时的FIFO队列。当新来一 ...
阅读全文 »

存储引擎二/多实例安装

发表于 2019-10-01 | 分类于 mysql
MySQL学习笔记(Day006:存储引擎二/多实例安装)@(MySQL学习) [TOC] 一. MyISAM存储引擎(下)1. MyISAM还在使用的原因 历史原因,需要逐步替换 部分如User,DB等系统表(MyISAM引擎),可以直接拷贝,比较方便 性能好,或者存储小不是MyISAM的优点,也不是存在的原因 2. MyISAM文件组成 frm 表结构文件 MYI 索引文件 MYD 数据文件 数据文件是堆表数据结构,堆是无序数据的集合 MYI中的叶子节点,指向MYD中的数据页 当数据移动到页外时,需要修改对应指针 3. myisamchkmyisamchk通过扫描MYD文件来重建MYI文件;如果MYD文件中某条记录有问题,将跳过该记录 二. Memory存储引擎1. Memory介绍 全内存存储的引擎 数据库重启后数据丢失 支持哈希索引 ...
阅读全文 »

slow_log/generic_log/audit/存储引擎一

发表于 2019-10-01 | 分类于 mysql
MySQL学习笔记(Day005:slow_log/generic_log/audit/存储引擎一)@(MySQL学习) [TOC] 一. 慢查询日志进阶1. 相关参数: slow_query_log 是否开启慢查询日志 slow_query_log_file 慢查询日志文件名, 在my.cnf我们已经定义为slow.log,默认是 机器名-slow.log long_query_time 制定慢查询阈值, 单位是秒,且当版本 >=5.5.X,支持毫秒。例如0.5即为500ms 大于该值,不包括值本身。例如该值为2,则执行时间正好等于2的SQL语句不会记录 log_queries_not_using_indexes 将没有使用索引的SQL记录到慢查询日志 如果一开始因为数 ...
阅读全文 »
123…11
rudder

rudder

最富内涵的博文,最有哲理的谈论

103 日志
29 分类
47 标签
RSS
GitHub
Creative Commons
© long long ago — 2019 rudder