02 2022 档案
摘要:Mysql数据库 - 3.1概述 数据存储 人工管理阶段 缺点 : 数据存储量有限,共享处理麻烦,操作容易混乱 文件管理阶段 (.txt .doc .xls) 优点 : 数据可以长期保存,可以存储大量的数据,使用简单。 缺点 : 数据一致性差,数据查找修改不方便,数据冗余度可能比较大。 数据库管理阶
阅读全文
摘要:1. 大数据简介 1.1 大数据的由来 随着计算机技术的发展,互联网的普及,信息的积累已经到了一个非常庞大的地步,信息的增长也在不断的加快,随着互联网、物联网建设的加快,信息更是爆炸式增长,收集、检索、统计这些信息越发困难,必须使用新的技术来解决这些问题 1.2 什么是大数据 【1】定义 大数据指无
阅读全文
摘要:SPIDER-DAY08 1. 腾讯招聘爬虫 scrapy项目代码 见day08笔记:Tencent 文件夹【1】一级页面 提取数据: 每个职位的PostId【2】二级页面 提取数据:1个职位的 名称、地点、类别、发布时间、职责、要求 2. 腾讯招聘数据持久化 建库建表SQL create data
阅读全文
摘要:SPIDER-DAY07 1. scrapy框架 1.1 scrapy概述 定义 异步处理框架,可配置和可扩展程度非常高,Python中使用最广泛的爬虫框架 安装 【1】Ubuntu安装 sudo pip3 install Scrapy 【2】Windows安装 python -m pip inst
阅读全文
摘要:SPIDER-DAY06 1. selenium详解 1.1 代码演示 """使用selenium打开浏览器,进入百度的搜索页面"""# 导入selenium的webdriver接口from selenium import webdriver# 1.打开浏览器 - 创建浏览器对象driver =
阅读全文
摘要:1. 动态加载数据抓取 1.1 AJAX动态加载 数据特点 【1】右键 -> 查看网页源码中没有具体数据【2】滚动鼠标滑轮或其他动作时加载,或者页面局部刷新 分析流程 【1】F12打开控制台,页面动作抓取网络数据包【2】抓取json文件URL地址 2.1) 控制台中 XHR :异步加载的数据包 2.
阅读全文
摘要:1. 代理参数 1.1 代理IP概述 【1】定义 代替你原来的IP地址去对接网络的IP地址【2】作用 隐藏自身真实IP,避免被封 【3】获取代理IP网站 快代理、全网代理、代理精灵、... ...【4】参数类型 proxies proxies = { '协议':'协议://IP:端口号' } p
阅读全文
摘要:SPIDER-DAY03 1. Chrome浏览器插件 【1】在线安装 1.1> 下载插件 - google访问助手 1.2> 安装插件 - google访问助手: Chrome浏览器-设置-更多工具-扩展程序-开发者模式-拖拽(解压后的插件) 1.3> 在线安装其他插件 - 打开google访问助
阅读全文
摘要:电影天堂案例 import requestsimport reimport timeimport random# http://httpbin.org/getclass DyttSpider: def __init__(self): self.url = 'https://www.dytt8.ne
阅读全文
摘要:==2. 爬虫请求模块== 2.1 requests模块 安装 【1】Linux sudo pip3 install requests【2】Windows python -m pip install requests 2.2 常用方法 requests.get() 【1】作用 向目标网站发起请求,
阅读全文
摘要:undo 日志 标签: MySQL 是怎样运行的 事务回滚的需求 我们说过事务需要保证原子性,也就是事务中的操作要么全部完成,要么什么也不做。但是偏偏有些时候做到一半的时候会出一些情况,比如: 情况一:事务执行过程中可能遇到各种错误,比如服务器本身的错误,操作系统错误,甚至是突然断电导致的错误。 情
阅读全文
摘要:redo 日志(下) 标签: MySQL 是怎样运行的 redo日志文件 redo日志刷盘时机 我们前边说mtr运行过程中产生的一组redo日志在mtr结束时会被复制到log buffer中,可是这些日志总在内存里呆着也不是个办法,在一些情况下它们会被刷新到磁盘里,比如: log buffer空间不
阅读全文
摘要:事务简介 标签: MySQL 是怎样运行的 事务的起源 对于大部分程序员来说,他们的任务就是把现实世界的业务场景映射到数据库世界。比如银行为了存储人们的账户信息会建立一个account表: CREATE TABLE account ( id INT NOT NULL AUTO_INCREMENT C
阅读全文
摘要:redo日志(上) 标签: MySQL是怎样运行的 事先说明 本文以及接下来的几篇文章将会频繁的使用到我们前边唠叨的InnoDB记录行格式、页面格式、索引原理、表空间的组成等各种基础知识,如果大家对这些东西理解的不透彻,那么阅读下边的文字可能会有些吃力,为保证您的阅读体验,请确保自己已经掌握了我前边
阅读全文
摘要:InnoDB 的 Buffer Pool 标签: MySQL 是怎样运行的 缓存的重要性 通过前边的唠叨我们知道,对于使用InnoDB作为存储引擎的表来说,不管是用于存储用户数据的索引(包括聚簇索引和二级索引),还是各种系统数据,都是以页的形式存放在表空间中的,而所谓的表空间只不过是InnoDB对文
阅读全文
摘要:Explain 详解(下) 标签: MySQL 是怎样运行的 执行计划输出中各列详解 本章紧接着上一节的内容,继续唠叨EXPLAIN语句输出的各个列的意思。 Extra 顾名思义,Extra列是用来说明一些额外信息的,我们可以通过这些额外信息来更准确的理解MySQL到底将如何执行给定的查询语句。My
阅读全文
摘要:otpimizer trace 表的神奇功效 标签: MySQL 是怎样运行的 对于MySQL 5.6以及之前的版本来说,查询优化器就像是一个黑盒子一样,你只能通过EXPLAIN语句查看到最后优化器决定使用的执行计划,却无法知道它为什么做这个决策。这对于一部分喜欢刨根问底的小伙伴来说简直是灾难:“我
阅读全文
摘要:Explain 详解(上) 标签: MySQL 是怎样运行的 一条查询语句在经过MySQL查询优化器的各种基于成本和规则的优化会后生成一个所谓的执行计划,这个执行计划展示了接下来具体执行查询的方式,比如多表连接的顺序是什么,对于每个表采用什么访问方法来具体执行查询等等。设计MySQL的大叔贴心的为我
阅读全文
摘要:InnoDB 统计数据是如何收集的 标签: MySQL 是怎样运行的 我们前边唠叨查询成本的时候经常用到一些统计数据,比如通过SHOW TABLE STATUS可以看到关于表的统计数据,通过SHOW INDEX可以看到关于索引的统计数据,那么这些统计数据是怎么来的呢?它们是以什么方式收集的呢?本章将
阅读全文
摘要:基于规则的优化 标签: MySQL 是怎样运行的 大家别忘了MySQL本质上是一个软件,设计MySQL的大叔并不能要求使用这个软件的人个个都是数据库高高手,就像我写这本书的时候并不能要求各位在学之前就会了里边儿的知识。 吐槽一下:都会了的人谁还看呢,难道是为了精神上受感化? 也就是说我们无法避免某些
阅读全文
摘要:基于成本的优化 标签: MySQL 是怎样运行的 什么是成本 我们之前老说MySQL执行一个查询可以有不同的执行方案,它会选择其中成本最低,或者说代价最低的那种方案去真正的执行查询。不过我们之前对成本的描述是非常模糊的,其实在MySQL中一条查询语句的执行成本是由下边这两个方面组成的: I/O成本
阅读全文
摘要:连接的原理 标签: MySQL 是怎样运行的 搞数据库一个避不开的概念就是Join,翻译成中文就是连接。相信很多小伙伴在初学连接的时候有些一脸懵逼,理解了连接的语义之后又可能不明白各个表中的记录到底是怎么连起来的,以至于在使用的时候常常陷入下边两种误区: 误区一:业务至上,管他三七二十一,再复杂的查
阅读全文
摘要:单表访问方法 标签: MySQL 是怎样运行的 对于我们这些MySQL的使用者来说,MySQL其实就是一个软件,平时用的最多的就是查询功能。DBA时不时丢过来一些慢查询语句让优化,我们如果连查询是怎么执行的都不清楚还优化个毛线,所以是时候掌握真正的技术了。我们在第一章的时候就曾说过,MySQL Se
阅读全文
摘要:InnoDB 的表空间 标签: MySQL 是怎样运行的 通过前边儿的内容大家知道,表空间是一个抽象的概念,对于系统表空间来说,对应着文件系统中一个或多个实际文件;对于每个独立表空间来说,对应着文件系统中一个名为表名.ibd的实际文件。大家可以把表空间想象成被切分为许许多多个页的池子,当我们想为某个
阅读全文
摘要:B+树索引的使用 标签: MySQL 是怎样运行的 我们前边详细、详细又详细的唠叨了InnoDB存储引擎的B+树索引,我们必须熟悉下边这些结论: 每个索引都对应一棵B+树,B+树分为好多层,最下边一层是叶子节点,其余的是内节点。所有用户记录都存储在B+树的叶子节点,所有目录项记录都存储在内节点。 I
阅读全文
摘要:MySQL 的数据目录 标签: MySQL 是怎样运行的 数据库和文件系统的关系 我们知道像InnoDB、MyISAM这样的存储引擎都是把表存储在磁盘上的,而操作系统用来管理磁盘的那个东东又被称为文件系统,所以用专业一点的话来表述就是:像 InnoDB 、 MyISAM 这样的存储引擎都是把表存储在
阅读全文
摘要:B+树索引 标签: MySQL是怎样运行的 前边我们详细唠叨了InnoDB数据页的7个组成部分,知道了各个数据页可以组成一个双向链表,而每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边儿的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分
阅读全文
摘要:InnoDB 数据页结构 标签: MySQL 是怎样运行的 不同类型的页简介 前边我们简单提了一下页的概念,它是InnoDB管理存储空间的基本单位,一个页的大小一般是16KB。InnoDB为了不同的目的而设计了许多种不同类型的页,比如存放表空间头部信息的页,存放Insert Buffer信息的页,存
阅读全文
摘要:InnoDB记录存储结构 标签: MySQL 是怎样运行的 准备工作 到现在为止,MySQL对于我们来说还是一个黑盒,我们只负责使用客户端发送请求并等待服务器返回结果,表中的数据到底存到了哪里?以什么格式存放的?MySQL是以什么方式来访问的这些数据?这些问题我们统统不知道,对于未知领域的探索向来就
阅读全文
摘要:字符集和比较规则 标签: MySQL 是怎样运行的 字符集和比较规则简介 字符集简介 我们知道在计算机中只能存储二进制数据,那该怎么存储字符串呢?当然是建立字符与二进制数据的映射关系了,建立这个关系最起码要搞清楚两件事儿: 你要把哪些字符映射成二进制数据? 也就是界定清楚字符范围。 怎么映射? 将一
阅读全文
摘要:初识MySQL 标签: MySQL是怎样运行的 MySQL的客户端/服务器架构 以我们平时使用的微信为例,它其实是由两部分组成的,一部分是客户端程序,一部分是服务器程序。客户端可能有很多种形式,比如手机APP,电脑软件或者是网页版微信,每个客户端都有一个唯一的用户名,就是你的微信号,另一方面,腾讯公
阅读全文
摘要:启动选项和配置文件 标签: MySQL 是怎样运行的 如果你用过手机,你的手机上一定有一个设置的功能,你可以选择设置手机的来电铃声、设置音量大小、设置解锁密码等等。假如没有这些设置功能,我们的生活将置于尴尬的境地,比如在图书馆里无法把手机设置为静音,无法把流量开关关掉以节省流量,在别人得知解锁密码后
阅读全文
摘要:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器 nums = [1,8,
阅读全文