该文被密码保护。 阅读全文
posted @ 2017-07-14 16:04 Splace 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 本篇主要是上篇查询优化例子。 查询优化举例 连接5张表(persons, mobiles, mails, addresses, bank_accounts),获取个人全部信息。 作为查询优化必须解决一下两个问题: 1. What kind of join should I use for each 阅读全文
posted @ 2017-04-06 19:31 Splace 阅读(751) 评论(0) 推荐(0) 编辑
摘要: 查询优化: 现代数据库都使用一种基于成本优化(参见第一部分)的方式进行优化查询,这种方式的思路是给每种基本运算设定一个成本,然后采用某种运算顺序总成本最小的方式进行查询,得到最优的结果。 为简化理解,对数据库的查询重点放在查询时间复杂度上,而不考虑CPU消耗,内存占用与磁盘I/O,且相比与CPU消耗 阅读全文
posted @ 2017-04-01 14:11 Splace 阅读(4496) 评论(1) 推荐(0) 编辑
摘要: 窗口函数对于一些统计应用情况有非常好的使用效果,本文主要举例使用常用的几种窗口函数。 定义 A window function performs a calculation across a set of table rows that are somehow related to the curr 阅读全文
posted @ 2017-03-21 17:06 Splace 阅读(2202) 评论(0) 推荐(1) 编辑
摘要: 查询管理器: 查询管理器是数据库的关键,在这里将对查询进行检查、优化、执行,并将查询结果返回给客户端。 Fig. 10 一般有以下步骤: 以下重点分析前面三个步骤。 查询解析: 在该过程一般检查SQL语法、查询表是否存在、列是否存在、类型是否正确、运算是否正确,然后检查用户是否对表有操作权限,解析过 阅读全文
posted @ 2017-03-20 12:24 Splace 阅读(879) 评论(0) 推荐(0) 编辑
摘要: 数据库概览 ·数据库不是简单的一堆文件叠加整理在一起,而是有多个组件相互合作而成。忽略具体某种数据库,一般数据库由以下组件构成: Fig. 8 核心组件: 进程管理器:很多数据库需要许多进程/线程同时都运行,所以搞了一个进程/线程池来管理这些进程/线程。 比如,有些数据库为了得到纳秒( nanose 阅读全文
posted @ 2017-03-16 13:20 Splace 阅读(967) 评论(0) 推荐(1) 编辑
摘要: 本文从"数据库是如何处理一个 SQL 查询的?"这一基本数据库操作来讨论关系数据库的工作原理。 cost based optimization(基于成本的优化) 为了解成本,需要了解一下复杂度的概念,具体考虑时间复杂度,一般用O表示,对应某个算法(查询),对于其随着数据量的增加复杂度增加趋势,而非具 阅读全文
posted @ 2017-03-15 22:32 Splace 阅读(4493) 评论(0) 推荐(1) 编辑
摘要: 语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以 阅读全文
posted @ 2017-02-27 09:53 Splace 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 手册中关于split()用法如下:str.split(sep=None, maxsplit=-1) Return a list of the words in the string, using sep as the delimiter string. If maxsplit is given, a 阅读全文
posted @ 2017-01-20 15:22 Splace 阅读(10923) 评论(0) 推荐(0) 编辑
摘要: 在看《集体智慧编程》时碰到python3环境下安装feedparser的问题,搜索发现很多人碰到此问题,最终找以下方法解决。how to install feedparser on python3 Approach A: Using PipThe best method for installing 阅读全文
posted @ 2017-01-20 14:24 Splace 阅读(1741) 评论(0) 推荐(0) 编辑