博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql postgreSQL noSQL学习资料
阅读量:2357 次
发布时间:2019-05-10

本文共 11169 字,大约阅读时间需要 37 分钟。

MongoDB: The Definitive Guide 2nd edition –Oreilly May 26, 2013
与传统的关系型数据库不同,MongoDB是一种面向文档的数据库。《MongoDB权威指南(第2版)》这一版共分为六部分,涵盖开发、管理以及部署的各个方面。第一部分展示MongoDB基础知识、核心概念。第二部分介绍使用MongoDB进行开发,包括索引的概念以及各种特殊索引和集合的用法等。第三部分讲述复制,包括副本集的相关概念、创建方法,与应用程序的交互等。第四部讨论分片,包括分片的配置,片键的选择,集群的管理。第五部分阐述创建索引、移动和压缩数据等管理任务,以及MongoDB的持久数据存储。最后一部分集中说明服务器管理。  《MongoDB权威指南(第2版)》适合数据库开发和管理人员阅读。Apress也有一本类似的书,书名也很类似 The Definitive Guide to MongoDB 2nd edition

高性能MySQL(第3版)(MySQL旗舰名著 惊献全面升级)

《高性能MySQL(第3版)》是MySQL 领域的经典之作,拥有广泛的影响力。第3 版更新了大量的内容,不但涵盖了最新MySQL5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6 个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。  《高性能MySQL(第3版)》不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。作者简介 BaronSchwartz是一位软件工程师,居住在弗吉尼亚州的Charlottesville,网络常用名是Xaprb,这是按照QWERTY键盘的顺序在Dvorak键盘上打出来的名字。在不忙于解决有趣的编程挑战时,Baron会和他的妻子Lynn以及小狗Carbon一起享受闲暇的时光。他有一个软件工程方面的博客,地址是http://www.xaprb.com/blog/  PeterZaitsev曾经是MySQLAB公司高性能组的经理,目前在运作mysqlperformanceblog.com网站。他擅长于帮助那些每天有数以百万计访问量的网站的管理员解决问题,这些网站通常需要几百台机器来处理TB级的数据。他常常为了解决一个问题而不停地升级硬件和软件(比如查询优化)。Peter还经常在各种会议上演讲。  VadimTkachenko曾经是MySQLAB公司的性能工程师。作为一名在多线程编程和同步方面的专家,他的主要工作是基准测试、性能剖析,以及找出系统的性能瓶颈。他还在性能监控和调优方面做了一些工作,使得MySQL在多核机器上有更好的可扩展性。  译者简介  宁海元有超过十年的数据库管理经验,从最初的SQLServer2000到Oracle再到MySQL,擅长数据库高可用架构、性能优化和故障诊断。2007年加入淘宝,带领淘宝DBA团队完成了数据库的垂直拆分、水平拆分,迁移到MySQL体系等主要工作,为淘宝业务的快速增长提供支撑。目前专注于无线数据领域。网络常用名NinGoo,个人博客:http://www.ningoo.net  周振兴毕业于北京师范大学数学系,2009年加入淘宝数据库团队,负责MySQL运维管理工作,有丰富的MySQL性能优化、Troubleshooting经验,对MySQL主要模块的实现和原理有深入的研究,经历了淘宝MySQL实例从30到3000的发展,对系统架构、高可用环境规划都有深入理解。个人博客:http://orczhou.com  彭立勋2010年大学毕业后加入********运维部。作为一名MySQLDBA,在运维MySQL的过程中对MySQL和InnoDB的一些功能和缺陷进行了补充,编写了多主复制和数据闪回等补丁。目前在阿里集团核心系统研发部数据库组,专注于MySQL数据库相关的开发工作。后来一些补丁被MySQL之父Mony看中,多主复制、线程内存监控等补丁被合并到了MariaDB10.0版本,本人也因此成为MariaDB提交组(Maria-captains)成员。  翟卫祥毕业于武汉大学,研究生阶段从事数据库相关研究。毕业后就职于********集团数据库技术团队至今,主要负责阿里内部MySQL代码分支维护,包括MySQLBugFix及新特性开发。对MySQL内核有一定的研究。  刘辉2008年毕业于西安电子科技大学计算机系,硕士学位。2011年加入********集团数据库技术团队,花名希羽,MySQL内核开发工程师。目录推荐序前言第1章 MySQL 架构与历史1.1 MySQL 逻辑架构1.1.1 连接管理与安全性1.1.2 优化与执行1.2 并发控制1.2.1 读写锁1.2.2 锁粒度1.3 事务1.3.1 隔离级别1.3.2 死锁1.3.3 事务日志1.3.4 MySQL 中的事务1.4 多版本并发控制1.5 MySQL 的存储引擎1.5.1 InnoDB 存储引擎1.5.2 MyISAM 存储引擎1.5.3 MySQL 内建的其他存储引擎1.5.4 第三方存储引擎1.5.5 选择合适的引擎1.5.6 转换表的引擎1.6 MySQL 时间线(Timeline)1.7 MySQL 的开发模式1.8 总结第2章 MySQL 基准测试2.1 为什么需要基准测试2.2 基准测试的策略2.2.1 测试何种指标2.3 基准测试方法2.3.1 设计和规划基准测试2.3.2 基准测试应该运行多长时间2.3.3 获取系统性能和状态2.3.4 获得准确的测试结果2.3.5 运行基准测试并分析结果2.3.6 绘图的重要性2.4 基准测试工具2.4.1 集成式测试工具2.4.2 单组件式测试工具2.5 基准测试案例2.5.1 http_load2.5.2 MySQL 基准测试套件 .2.5.3 sysbench2.5.4 数据库测试套件中的dbt2 TPC-C 测试2.5.5 Percona 的TPCC-MySQL 测试工具2.6 总结第3章 服务器性能剖析3.1 性能优化简介3.1.1 通过性能剖析进行优化3.1.2 理解性能剖析3.2 对应用程序进行性能剖析3.2.1 测量PHP 应用程序3.3 剖析MySQL 查询3.3.1 剖析服务器负载3.3.2 剖析单条查询3.3.3 使用性能剖析3.4 诊断间歇性问题3.4.1 单条查询问题还是服务器问题3.4.2 捕获诊断数据3.4.3 一个诊断案例3.5 其他剖析工具3.5.1 使用USER_STATISTICS 表3.5.2 使用strace3.6 总结第4章 Schema 与数据类型优化4.1 选择优化的数据类型4.1.1 整数类型4.1.2 实数类型4.1.3 字符串类型4.1.4 日期和时间类型4.1.5 位数据类型4.1.6 选择标识符(identifier)4.1.7 特殊类型数据4.2 MySQL schema 设计中的陷阱4.3 范式和反范式4.3.1 范式的优点和缺点4.3.2 反范式的优点和缺点 .4.3.3 混用范式化和反范式化4.4 缓存表和汇总表4.4.1 物化视图4.4.2 计数器表4.5 加快ALTER TABLE 操作的速度4.5.1 只修改.frm 文件4.5.2 快速创建MyISAM 索引4.6 总结第5章 创建高性能的索引5.1 索引基础5.1.1 索引的类型5.2 索引的优点5.3 高性能的索引策略5.3.1 独立的列5.3.2 前缀索引和索引选择性5.3.3 多列索引5.3.4 选择合适的索引列顺序5.3.5 聚簇索引5.3.6 覆盖索引5.3.7 使用索引扫描来做排序5.3.8 压缩(前缀压缩)索引5.3.9 冗余和重复索引5.3.10 未使用的索引5.3.11 索引和锁5.4 索引案例学习5.4.1 支持多种过滤条件5.4.2 避免多个范围条件5.4.3 优化排序5.5 维护索引和表5.5.1 找到并修复损坏的表 .5.5.2 更新索引统计信息5.5.3 减少索引和数据的碎片5.6 总结第6章 查询性能优化6.1 为什么查询速度会慢6.2 慢查询基础:优化数据访问6.2.1 是否向服务器请求了不需要的数据6.2.2 MySQL 是否在扫描额外的记录6.3 重构查询的方式6.3.1 一个复杂查询还是多个简单查询6.3.2 切分查询6.3.3 分解关联查询6.4 查询执行的基础6.4.1 MySQL 客户端/ 服务器通信协议6.4.2 查询缓存6.4.3 查询优化处理6.4.4 查询执行引擎6.4.5 返回结果给客户端6.5 MySQL 查询优化器的局限性6.5.1 关联子查询6.5.2 UNION 的限制6.5.3 索引合并优化6.5.4 等值传递6.5.5 并行执行6.5.6 哈希关联6.5.7 松散索引扫描6.5.8 最大值和最小值优化 .6.5.9 在同一个表上查询和更新6.6 查询优化器的提示(hint)6.7 优化特定类型的查询6.7.1 优化COUNT() 查询6.7.2 优化关联查询6.7.3 优化子查询6.7.4 优化GROUP BY 和DISTINCT6.7.5 优化LIMIT 分页6.7.6 优化SQL_CALC_FOUND_ROWS6.7.7 优化UNION 查询6.7.8 静态查询分析6.7.9 使用用户自定义变量 .6.8 案例学习6.8.1 使用MySQL 构建一个队列表6.8.2 计算两点之间的距离 .6.8.3 使用用户自定义函数 .6.9 总结第7章 MySQL 高级特性7.1 分区表7.1.1 分区表的原理7.1.2 分区表的类型7.1.3 如何使用分区表7.1.4 什么情况下会出问题 .7.1.5 查询优化7.1.6 合并表7.2 视图7.2.1 可更新视图7.2.2 视图对性能的影响7.2.3 视图的限制7.3 外键约束7.4 在MySQL 内部存储代码7.4.1 存储过程和函数7.4.2 触发器7.4.3 事件7.4.4 在存储程序中保留注释7.5 游标7.6 绑定变量7.6.1 绑定变量的优化7.6.2 SQL 接口的绑定变量7.6.3 绑定变量的限制7.7 用户自定义函数7.8 插件7.9 字符集和校对7.9.1 MySQL 如何使用字符集7.9.2 选择字符集和校对规则7.9.3 字符集和校对规则如何影响查询7.10 全文索引7.10.1 自然语言的全文索引7.10.2 布尔全文索引7.10.3 MySQL5.1 中全文索引的变化7.10.4 全文索引的限制和替代方案7.10.5 全文索引的配置和优化7.11 分布式(XA)事务7.11.1 内部XA 事务7.11.2 外部XA 事务7.12 查询缓存7.12.1 MySQL 如何判断缓存命中7.12.2 查询缓存如何使用内存7.12.3 什么情况下查询缓存能发挥作用7.12.4 如何配置和维护查询缓存7.12.5 InnoDB 和查询缓存 .7.12.6 通用查询缓存优化7.12.7 查询缓存的替代方案7.13 总结第8章 优化服务器设置8.1 MySQL 配置的工作原理8.1.1 语法、作用域和动态性8.1.2 设置变量的副作用8.1.3 入门8.1.4 通过基准测试迭代优化8.2 什么不该做8.3 创建MySQL 配置文件8.3.1 检查MySQL 服务器状态变量8.4 配置内存使用8.4.1 MySQL 可以使用多少内存?8.4.2 每个连接需要的内存 .8.4.3 为操作系统保留内存 .8.4.4 为缓存分配内存8.4.5 InnoDB 缓冲池(Buffer Pool)8.4.6 MyISAM 键缓存(Key Caches)8.4.7 线程缓存8.4.8 表缓存(Table Cache)8.4.9 InnoDB 数据字典(Data Dictionary)8.5 配置MySQL 的I/O 行为8.5.1 InnoDB I/O 配置8.5.2 MyISAM 的I/O 配置 .8.6 配置MySQL 并发 .8.6.1 InnoDB 并发配置8.6.2 MyISAM 并发配置8.7 基于工作负载的配置8.7.1 优化BLOB 和TEXT 的场景8.7.2 优化排序(Filesorts).8.8 完成基本配置8.9 安全和稳定的设置8.10 高级InnoDB 设置8.11 总结第9章 操作系统和硬件优化9.1 什么限制了MySQL 的性能9.2 如何为MySQL 选择CPU9.2.1 哪个更好:更快的CPU 还是更多的CPU9.2.2 CPU 架构9.2.3 扩展到多个CPU 和核心9.3 平衡内存和磁盘资源9.3.1 随机I/O 和顺序I/O9.3.2 缓存,读和写9.3.3 工作集是什么9.3.4 找到有效的内存/ 磁盘比例9.3.5 选择硬盘9.4 固态存储9.4.1 闪存概述9.4.2 闪存技术9.4.3 闪存的基准测试9.4.4 固态硬盘驱动器(SSD)9.4.5 PCIe 存储设备9.4.6 其他类型的固态存储 .9.4.7 什么时候应该使用闪存9.4.8 使用Flashcache9.4.9 优化固态存储上的MySQL9.5 为备库选择硬件9.6 RAID 性能优化9.6.1 RAID 的故障转移、恢复和镜像9.6.2 平衡硬件RAID 和软件RAID9.6.3 RAID 配置和缓存9.7 SAN 和NAS9.7.1 SAN 基准测试9.7.2 使用基于NFS 或SMB 的SAN9.7.3 MySQL 在SAN 上的性能9.7.4 应该用SAN 吗9.8 使用多磁盘卷9.9 网络配置9.10 选择操作系统9.11 选择文件系统9.12 选择磁盘队列调度策略9.13 线程9.14 内存交换区9.15 操作系统状态9.15.1 如何阅读vmstat 的输出9.15.2 如何阅读iostat 的输出9.15.3 其他有用的工具9.15.4 CPU 密集型的机器9.15.5 I/O 密集型的机器9.15.6 发生内存交换的机器9.15.7 空闲的机器9.16 总结第10章 复制10.1 复制概述10.1.1 复制解决的问题10.1.2 复制如何工作10.2 配置复制10.2.1 创建复制账号10.2.2 配置主库和备库10.2.3 启动复制10.2.4 从另一个服务器开始复制10.2.5 推荐的复制配置10.3 复制的原理10.3.1 基于语句的复制10.3.2 基于行的复制10.3.3 基于行或基于语句:哪种更优10.3.4 复制文件10.3.5 发送复制事件到其他备库10.3.6 复制过滤器10.4 复制拓扑10.4.1 一主库多备库10.4.2 主动- 主动模式下的主- 主复制10.4.3 主动- 被动模式下的主- 主复制10.4.4 拥有备库的主- 主结构10.4.5 环形复制10.4.6 主库、分发主库以及备库10.4.7 树或金字塔形10.4.8 定制的复制方案10.5 复制和容量规划10.5.1 为什么复制无法扩展写操作10.5.2 备库什么时候开始延迟10.5.3 规划冗余容量10.6 复制管理和维护10.6.1 监控复制10.6.2 测量备库延迟10.6.3 确定主备是否一致10.6.4 从主库重新同步备库10.6.5 改变主库10.6.6 在一个主- 主配置中交换角色10.7 复制的问题和解决方案10.7.1 数据损坏或丢失的错误10.7.2 使用非事务型表10.7.3 混合事务型和非事务型表10.7.4 不确定语句10.7.5 主库和备库使用不同的存储引擎10.7.6 备库发生数据改变10.7.7 不唯一的服务器ID .10.7.8 未定义的服务器ID .10.7.9 对未复制数据的依赖性10.7.10 丢失的临时表10.7.11 不复制所有的更新 .10.7.12 InnoDB 加锁读引起的锁争用10.7.13 在主- 主复制结构中写入两台主库10.7.14 过大的复制延迟10.7.15 来自主库的过大的包10.7.16 受限制的复制带宽 .10.7.17 磁盘空间不足10.7.18 复制的局限性10.8 复制有多快10.9 MySQL 复制的高级特性10.10 其他复制技术10.11 总结第11章 可扩展的MySQL11.1 什么是可扩展性11.1.1 正式的可扩展性定义11.2 扩展MySQL11.2.1 规划可扩展性11.2.2 为扩展赢得时间11.2.3 向上扩展11.2.4 向外扩展11.2.5 通过多实例扩展11.2.6 通过集群扩展11.2.7 向内扩展11.3 负载均衡11.3.1 直接连接11.3.2 引入中间件11.3.3 一主多备间的负载均衡11.4 总结第12章 高可用性12.1 什么是高可用性12.2 导致宕机的原因12.3 如何实现高可用性12.3.1 提升平均失效时间(MTBF)12.3.2 降低平均恢复时间(MTTR)12.4 避免单点失效12.4.1 共享存储或磁盘复制12.4.2 MySQL 同步复制12.4.3 基于复制的冗余12.5 故障转移和故障恢复12.5.1 提升备库或切换角色12.5.2 虚拟IP 地址或IP 接管12.5.3 中间件解决方案12.5.4 在应用中处理故障转移12.6 总结第13章 云端的MySQL13.1 云的优点、缺点和相关误解13.2 MySQL 在云端的经济价值13.3 云中的MySQL 的可扩展性和高可用性13.4 四种基础资源13.5 MySQL 在云主机上的性能13.5.1 在云端的MySQL 基准测试13.6 MySQL 数据库即服务(DBaaS)13.6.1 Amazon RDS13.6.2 其他DBaaS 解决方案13.7 总结第14章 应用层优化14.1 常见问题14.2 Web 服务器问题14.2.1 寻找最优并发度14.3 缓存14.3.1 应用层以下的缓存14.3.2 应用层缓存14.3.3 缓存控制策略14.3.4 缓存对象分层14.3.5 预生成内容14.3.6 作为基础组件的缓存14.3.7 使用HandlerSocket 和memcached14.4 拓展MySQL14.5 MySQL 的替代品14.6 总结第15章 备份与恢复15.1 为什么要备份15.2 定义恢复需求15.3 设计MySQL 备份方案15.3.1 在线备份还是离线备份15.3.2 逻辑备份还是物理备份15.3.3 备份什么15.3.4 存储引擎和一致性15.4 管理和备份二进制日志15.4.1 二进制日志格式15.4.2 安全地清除老的二进制日志15.5 备份数据15.5.1 生成逻辑备份15.5.2 文件系统快照15.6 从备份中恢复15.6.1 恢复物理备份15.6.2 还原逻辑备份15.6.3 基于时间点的恢复15.6.4 更高级的恢复技术15.6.5 InnoDB 崩溃恢复15.7 备份和恢复工具15.7.1 MySQL Enterprise Backup15.7.2 Percona XtraBackup .15.7.3 mylvmbackup15.7.4 Zmanda Recovery Manager15.7.5 mydumper15.7.6 mysqldump.15.8 备份脚本化15.9 总结第16章 MySQL 用户工具16.1 接口工具16.2 命令行工具集16.3 SQL 实用集16.4 监测工具16.4.1 开源的监控工具16.4.2 商业监控系统16.4.3 Innotop 的命令行监控16.5 总结附录A MySQL 分支与变种附录B MySQL 服务器状态附录C 大文件传输附录D EXPLAIN附录E 锁的调试附录F 在MySQL 上使用Sphinx索引

SQL基础教程

目录
目 录
前言 III
关于本书 IV
读者对象 IV
学习本书前的预备知识 IV
本书涉及的关系数据库 V
本书的学习安排 V
随书光盘简介 VI
第1章 数据库和SQL 1
1-1 数据库是什么 3
 我们身边的数据库 3
 为什么DBMS那么重要 4
 DBMS种类 6
1-2 数据库的结构 8
 RDBMS的常见系统结构 8
 表的结构 10
1-3 SQL概要 13
 标准SQL 13
 SQL语句及其种类 14
 SQL的基本书写规则 15
1-4 表的创建 18
 表的内容的创建 18
 数据库的创建(CREATE DATABASE语句) 19
 表的创建(CREATE TABLE语句) 19
 命名规则 21
 数据类型的指定 22
 约束的设置 24
1-5 表的删除和更新 25
 表的删除(DROP TABLE语句) 25
 表定义的更新(ALTER TABLE语句) 26
 向Shohin表中插入数据 27
练习题 30
第2章 查询基础 31
2-1 SELECT语句基础 33
 列的查询 33
 查询出表中所有的列 35
 为列设定别名 36
 常数的查询 38
 从结果中删除重复行 38
 根据WHERE语句来选择记录 41
 注释的书写方法 43
2-2 算术运算符和比较运算符 45
 算术运算符 45
 需要注意NULL 46
 比较运算符 48
 对字符串使用不等号时的注意事项 50
 不能对NULL使用比较运算符 53
2-3 逻辑运算符 56
 NOT运算符 56
 AND运算符和OR运算符 58
 通过括号进行强化 60
 逻辑运算符和真值 62
 含有NULL时的真值 64
练习题 66
第3章 聚合与排序 67
3-1 对表进行聚合查询 69
 聚合函数 69
 计算表中数据的行数 70
 计算NULL以外数据的行数 71
 计算合计值 72
 计算平均值 74
 计算最大值和最小值 75
 使用聚合函数删除重复值(关键字DISTINCT) 77
3-2 对表进行分组 79
 GROUP BY子句 79
 聚合键中包含NULL的情况 81
 使用WHERE子句时GROUP BY的执行结果 82
 与聚合函数和GROUP BY子句有关的常见错误 84
3-3 为聚合结果指定条件 89
 HAVING子句 89
 HAVING子句的构成要素 92
 相对于HAVING子句,更适合写在WHERE子句中的条件 93
3-4 对查询结果进行排序 96
 ORDER BY子句 96
 指定升序或降序 98
 指定多个排序键 99
 NULL的顺序 99
 在排序键中使用显示用别名 100
 ORDER BY子句中可以使用的列 102
 不要使用列编号 102
练习题 104
第4章 数据更新 105
4-1 数据的插入(INSERT语句的使用方法) 107
 什么是INSERT 107
 INSERT语句的基本语法 108
 列清单的省略 111
 插入NULL 111
 插入默认值 112
 从其他表中复制数据 114
4-2 数据的删除(DELETE语句的使用方法) 117
 DROP TABLE语句和DELETE语句 117
 DELETE语句的基本语法 117
 指定删除对象的DELETE语句(搜索型DELETE) 118
4-3 数据的更新(UPDATE语句的使用方法) 121
 UPDATE语句的基本语法 121
 指定条件的UPDATE语句(搜索型UPDATE) 122
 使用NULL进行更新 123
 多列更新 124
4-4 事务 126
 什么是事务 126
 创建事务 127
 ACID特性 132
练习题 133
第5章 复杂查询 135
5-1 视图 137
 视图和表 137
 创建视图的方法 139
 视图的限制①——定义视图时不能使用ORDER BY子句 142
 视图的限制②——对视图进行更新 143
 删除视图 147
5-2 子查询 148
 子查询和视图 148
 子查询的名称 151
 标量子查询 151
 标量子查询的书写位置 154
 使用标量子查询时的注意事项 155
5-3 关联子查询 156
 普通的子查询和关联子查询的区别 156
 关联子查询也是用来对集合进行切分的 159
 结合条件一定要写在子查询中 160
练习题 161
第6章 函数、谓词、CASE表达式 163
6-1 各种各样的函数 165
 函数的种类 165
 算术函数 166
 字符串函数 170
 日期函数 178
 转换函数 182
6-2 谓词 186
 什么是谓词 186
 LIKE谓词——字符串的部分一致查询 186
 BETWEENT谓词——范围查询 190
 IS NULL、IS NOT NULL——判断是否为NULL 191
 IN谓词——OR的简便用法 192
 使用子查询作为IN谓词的参数 193
 EXIST谓词 198
6-3 CASE表达式 202
 什么是CASE表达式 202
 CASE表达式的语法 202
 CASE表达式的使用方法 203
练习题 209
第7章 集合运算 211
7-1 表的加减法 213
 什么是集合运算 213
 表的加法——UNION 213
 集合运算的注意事项 216
 包含重复行的集合运算——ALL选项 217
 选取表中公共部分——INTERSECT 218
 记录的减法——EXCEPT 219
7-2 联结(以列为单位对表进行联结) 222
 什么是联结 222
 内联结——INNER JOIN 223
 外联结——OUTER JOIN 228
 3张以上表的联结 231
 交叉联结——CROSS JOIN 234
 特定的联结语句和过时的语法 237
练习题 242
第8章 SQL高级处理 243
8-1 窗口函数 245
 什么是窗口函数 245
 窗口函数的语法 246
 语法的基本使用方法——使用RANK函数 246
 无须指定PARTITION BY 249
 专用窗口函数的种类 250
 窗口函数的适用范围 251
 作为窗口函数使用的聚合函数 252
 计算移动平均 254
 两个ORDER BY 257
8-2 GROUPING运算符 259
 同时计算出合计值 259
 ROLLUP——同时计算出合计值和小计值 260
 GROUPING函数——让NULL更加容易分辨 265
 CUBE——用数据来搭积木 267
 GROUPING SETS——取得期望的积木 269
练习题 270
附录A 安装PostgreSQL 271
附录B 在PostgreSQL中执行SQL的方法 278
附录C 练习题答案 284

转载地址:http://wojtb.baihongyu.com/

你可能感兴趣的文章
Maven配置资料(二)
查看>>
hive脚本运行查看错误日志方式
查看>>
hive导入数据丢失问题
查看>>
linux查看网卡驱动
查看>>
hadoop运行任务时出现网络链接异常
查看>>
设置MAC OS远程登陆
查看>>
关于java并行程序开发重点
查看>>
hive的优化方式
查看>>
关于hadoop配置hosts文件的问题
查看>>
导入数据出错
查看>>
hive开发环境搭建体验
查看>>
无穷大和NaN
查看>>
Ubuntu下编译安装R全记录
查看>>
Hadoop生态图谱
查看>>
Eclipse下同一个项目如何适应多语言
查看>>
Python performance optimization
查看>>
python的Pattern模块
查看>>
关于hive同一个脚本运行多次而每次结果都不相同
查看>>
File类
查看>>
文件流的输入输出
查看>>