展开菜单

mysql索引为啥要选择B+树 (下)

mysql索引为啥要选择B+树 (下)

有读者在 mysql索引为啥要选择B+树 (上) 上篇文章中留言总结了选择 B+ 树的原因,大体上说对了,今天我们再一起来看看具体的原因。 索引为什么要保存在硬盘中 首先要明白几个概念,服务器存储一般分内存和硬盘,内存的大小相对于硬盘来说是很小的。内存的访问速度是纳秒级别的,非常快,而硬盘的访问速度相对内存来说就比较慢了。 不管是访问内存还是硬盘数据,操作系统都是按数据页来读取数据的,即每访问一次硬盘或内存,只读取一页大小的数据,一页的...

mysql索引为啥要选择B+树 (上)

mysql索引为啥要选择B+树 (上)

不知道你有没有这种感觉,那些所谓的数据结构和算法,在日常开发工作中很少用到或者几乎不曾用到,可能只是在每次换工作准备面试的时候才会捡起来学习学习。 那我希望今天这篇文章能让你对数据结构的具体应用能有个初步的概念,就从我们每天都在用的 mysql 数据库说起吧。 今天这个标题,严格来说其实是不正确的,我在前面的文章中有这么解释过:执行一条sql语句都经历了什么? 首先,mysql 主要是由 server 层和存储层两部分构成的。server 层主要包括连接器、查询缓存,...

使用python发送邮件

使用python发送邮件

发送邮件这个功能非常实用,比如你写了一个爬虫,可以通过邮件来接收程序异常或者任务完成的通知,再比如你搭了一个网站,别人只需留下他的邮箱,你就可以自动给他发送邮件。 总之我觉得邮件通知非常适合那些处理批量、大量任务,你可以不用守在电脑前等待处理结果,在程序里配置好邮件通知后,只需留意邮箱通知就好了。 下面我们一起来看看如何使用 python 来实现邮件发送,邮件一般分为纯文本邮件、html 邮件、以及带附件邮件,今天我们使用 python 来分别实现这三种邮件的发送。 在 python 实现发送...

浅谈dns域名解析过程

浅谈dns域名解析过程

前面的文章中有介绍过 打开一个网页背后都发生了什么? 其中第一步就是域名解析,今天我们就一起来看看域名解析的过程。 在开始之前,有必要把域名及 dns 的相关概念解释一下。 域名是什么 举个例子,https://www.baidu.com,这个其实并不是域名,其中 https 是指协议,去掉 https 后,www.baidu.com.(注意最后面有一个点号) 才是真正的域名。 每个域名的最后面都有一个点号 ...

python 自动监测并拷贝U盘文件

python 自动监测并拷贝U盘文件

今天给大家介绍一个可以偷偷拷贝别人 U 盘里文件的 python 程序,没错,程序自动监测 U 盘插入并读取 U 盘内文件,拷贝到本地电脑。 说一说程序的实现思路,由于 U 盘插入电脑后,电脑上会出现一个新的盘符,比如你电脑之前一共有 C、D、E、F 共 4 个盘符,现在插上一个 U 盘后,电脑上会新增一个 G 盘。 这个 python 程序就是每隔一段时间就去检查 G 盘这个目录是否存在,如果存在即表示有 U 盘插入电脑了。紧接着就可以读取 G 盘目录下的文件了,同时把 G 盘目录下的文件复制到电脑上其...

打开一个网页背后都发生了什么

打开一个网页背后都发生了什么

这是一个老生常谈的话题,我今天还是想凭我自己的理解,用自己的话来捋一捋这个过程。 对于我们用户来说,只需要在浏览器中输入或者点开一个 url ,我们就直接可以看到网页内容了,但是这背后却经历非常复杂的故事,简单来说主要有下面四大过程: 1、浏览器根据域名找到对应的 ip 地址(远程服务器)。 2、浏览器与远程服务器建立连接(tcp 连接,三次握手)。 3、浏览器与远程服务器发送和接收数据。 4、浏览器与远程服务器断开连接。 ...

不要轻易否决一个大目标

不要轻易否决一个大目标

达利欧在《原则》一书中的生活原则部分谈到,永远不要轻易否决一个你觉得无法实现的目标,以下是书中原话: 永远不要因为你觉得某个目标无法实现就否决它。你要放心大胆地去做。总有一条最好的道路,你要做的就是找到它,鼓起勇气沿着它前进。你所认为的可以实现知识根据眼前的认识做出的判断。一旦开始追求目标,你会学到很多,尤其是在和他人沟通的情况下,你从未预想过的道路会呈现。当然,也有一些不可能或近乎不可能的事,例如一个矮子在一个职业篮球队成为主力,或者 70 岁时在 4 分钟以内跑 1 英里(约合 1.6 千米)。 ...

《流浪地球》16w数据可视化分析

《流浪地球》16w数据可视化分析

今天下午去电影院看完了《流浪地球》,可能是昨晚没休息好的原因,我竟然在中间不小心有睡着过。 如果满分 10 分的话,我给 8 分,整场电影看下来比较平淡,而且需要有一定的科学和太空方面的知识(虽然我也不太懂),否则看起来可能比较费脑子。 所以看完后,我至少到目前为止好像还没有找到一个推荐别人去看这个电影的理由,当然并不是说电影不好。 我给的 8 分是觉得电影很有创意,这对中国的科幻电影一定是有巨大的意义的,同时这种科幻大片也应该是一个国家软实力的象征。 好了,以上都仅仅是我个人观点...

python爬取《流浪地球》16w评论

python爬取《流浪地球》16w评论

今年春节档电影《流浪地球》火的不要不要,截止到今天 2 月 17 日,上映 13 天,目前票房已达 36 亿,可喜可贺。 我自己到现在其实还没看这部电影,毕竟这电影这么火,电影院现在都很难买到好的位置。所以我打算不如先看看大家是怎么评价这部电影的,然后就开始写爬虫吧。 获得这 16w 评论数据的过程并没有那么顺利,对猫眼评论数据接口的分析踩过不少的坑,最终也是参考了网上其他文章得以解决,下面我们一起来分析下。 打开猫眼 pc 网页,发现只有 10 条热门评论数据,果断将浏览器切换成手机模式...

python教你画一棵树

python教你画一棵树

最近不少读者对 python 的 turtle 库比较感兴趣,用python画一朵玫瑰给你,之前也写了一篇文章讲过如何画一朵玫瑰花。今天在知乎上找了一个用 turtle 画树的 python 程序,一起来看看。 其实这种程序,主要了解下大概思路即可,有兴趣的可以去熟悉下 turtle 中每个函数的使用方法和作用,我在画玫瑰花那篇文章中也有过一些介绍,大家可以对照参考下。 我先说下画这棵树的大致思路,首先这幅画可以分两大部分,一部分是树,...

一个不太好的消息

首先给大家拜个晚年,祝各位读者朋友们猪年大吉,诸事顺利。 今天是春节假期最后一天了, 明天就该上班啦,明天就该上班啦,明天就该上班啦。 大多数朋友今天应该都在返程的路上,大家路上注意安全,祝一路平安。 我于昨晚回到北京,昨天早上 9 点左右从湖南老家出发,到昨晚 12 点左右回到北京住的地方。一路上还算顺利,基本上都是刚刚好,刚好赶上高铁,刚好赶上最后一班地铁,下地铁刚好打着滴滴。 我觉得这种刚刚好的状态其实是极具风险的,这其中任何一...

执行一条sql语句都经历了什么?

每天都在跟 mysql 打交道,你知道执行一条简单的 select 语句,都经历了哪些过程吗? 首先,mysql 主要是由 server 层和存储层两部分构成的。server 层主要包括连接器、查询缓存,分析器、优化器、执行器。存储层主要是用来存储和查询数据的,常用的存储引擎有 InnoDB、MyISAM,MySQL 5.5.5版本后使用 InnoDB 作为默认存储引擎。 连接器 连接器主要负责将 mysql 客户端和服务端建立连接,连接成功后,会获取当前连接用户的权限。这里获取到的权限对整个...