《高性能MySQL》读书笔记-第六章:查询性能优化

Acheron 按:
最近看了一些SQL优化的资料,这是《高性能MySQL》(第3版)(High Performance MySQL,Third Edition)第六章的读书笔记,整理于此。这本书可能更适合DBA或运维人员看,但第六章讲性能优化的部分,也适合我这样的后台开发人员。

一、为什么查询速度会慢

查询是一个任务,它有很多子任务构成,每个子任务都需要消耗一定的时间。若想优化查询,就要优化子任务,要么消除一些子任务,要么减少子任务的执行次数,要么减少子任务的执行时间。

查询的生命周期大致顺序:

从客户端,到服务器,然后在服务器上执行解析,生成执行计划,执行,然后将结构返回给客户端。

其中,执行是最重要的阶段,包括了大量为了检索数据到储存引擎的调用以及调用后的数据处理,包括排序,分组等。

在完成这些任务的时候,需要在不同的地方花费时间,包括网络IO,CPU计算,生成统计信息和执行计划 锁等待。

在调用底层数据引擎检索数据时,需要等待内存操作,CPU操作,和IO操作等待,这会产生大量的上下文切换和系统调用!

优化查询的目的就是减少和消除这些操作所花费的时间。

二、慢查询基础:优化数据访问

对于低效率的查询,一般使用下面的步骤来分析:

    1. 确认应用程序是否在检索大量超过需要的数据。这通常意味着访问了太多的行,但有时候也可能访问了太多的列。
    1. 确认Mysql服务器层是否在分析大量超过需要的数据行。

2.1 是否向数据库请求了不需要的数据

有些应用程序会请求超过实际需要的数据, 然后这些多余的数据会被应用程序丢弃。这会给Mysql服务器带来额外的负担,并增加网络开销(如果应用服务器和数据库不在同一台主机上,网络开销会显得很明显),另外也会消耗应用服务器的CPU和内存资源。

一些不好的操作:

  • 查询不需要的记录:只查询需要的记录,在相关查询后加上limit
  • 多表关联时返回全部列:多表关联时会从磁盘中读取全部列然后在内存中进行计算,非常低效。
  • 总是取出全部列:不要用select *,这会取出全部列,会让优化器无法完成索引覆盖扫描这类优化。
  • 重复查询相同的数据:当查询重复的数据时,可以考虑将数据缓存起来,需要是时候从缓存取。

2.2 Mysql是否在扫描额外的记录

对于Mysql,最简单的衡量查询开销的三个指标为:

  • 响应时间
  • 扫描的行数
  • 返回的行数

    这三个指标会记录到Mysql的慢日志中,所以检查慢日志记录是找出扫描行数过多的查询的好办法。

响应时间

响应时间是两个部分之后:服务时间和排队时间。

服务时间是指数据库处理这个查询真正花了多长时间。

排队时间是指服务器因为等待某些资源(I/O操作、行锁等)而没有真正执行查询的时间。

扫描的行数和返回的行数

理想情况下扫描的行数和返回的行数应该是相同的,但实际这种情况并不多,比如在做一个关联查询时,服务器心須要扫描多行才能生成结果集中的一行。

扫描的行数和访问类型

Explain语句中的type列反应了访问类型。访问类型从慢到快有:全表扫描(ALL),索引扫描,范围扫描,唯一索引查询,常数引用。

如果查询没有办法找到合适的访问类型,那最好的办法就是增加一个合适的索引。

Explain语句中的Extra如果是Using Where表示Mysql将通过where条件来筛选存储引擎返回的记录。

一般Mysql能够使用三种方式应用WHERE条件,从好到坏依次为:

  • 在索引中使用WHERE条件来过滤不匹配的记录,这是在储存引擎中完成的。
  • 使用索引覆盖扫描(explain语句的extra列出现了Using index)来返回记录。直接从索引中过滤不需要的记录并返回命中的结果,这是在Mysql服务器层完成的,但无须再回表查询记录。
  • 从数据表中返回数据,然后过滤不满足的条件(explain语句的extra列出现了Using where)。这在Mysql服务器层完成的,Mysql需要从数据表读取记录然后过滤。

如果发现查询需要扫描大量的数据但只返回少量的行,通常可以尝试下面的技巧去优化它:

  • 使用索引覆盖扫描,把所有用到的列都放到索引中,这样储存引擎无须回表获取对应行就可以返回结果了。
  • 改变库表结构,使用单独的汇总表,比如count()时。
  • 重写这个复杂的查询,让Mysql优化器能够以更优化的方式执行这个查询。

三、重构查询的方式

  • 1.一个复杂查询还是多个简单查询

有时候,将一个大的复杂查询分解为多个小查询往往效果会更好。Mysql从设计上让链接和断开链接都是轻量级的操作,在返回一个小的查询结果时很高效。

  • 2.切分查询

切分查询是对大查询”分而治之”,将大查询分为多个小查询,每个查询功能完全一样,只完成一小部分。

比如:定期的清楚大量数据时,如果一个大的语句一次性完成的话,则可能一次锁住很多数据,占满整个事物日志,耗尽系统资源,阻塞很多小的但重要的查询。这个时候可以分多次删除,每次删除一部分数据,删除一次暂停一会再接着做下一次删除,可以将服务器上一次性的压力分散到一个更长的时间段,性能会更好。

  • 3.分解关联查询

将一条关联多个表的sql语句通过应用程序拆分成多个操作单个表的语句。

分解关联查询方式的优势:

  • 让缓存效率更高,应用程序可以缓存了单表的结果对象,然后下次直接使用这个缓存的结果,这样就跳过了一次查询。
  • 将查询分解后,执行单个查询可以减少锁的竞争
  • 在应用层做关联,可以更容易对数据库进行拆分,更容易做到高性能和可扩展,为分布式做准备!
  • 查询本身效率也会有提升
  • 可以减少冗余记录的查询:在应用层做关联,意味着某条记录只需要查询一次,而在数据库做关联,则可以会重复返回一部分数据。
  • 这样分解相关于在应用中实现哈希索引,而不是使用数据库的嵌套循环关联

四、查询执行的基础

当向mysql发送一个请求的时候,mysql做了什么:

  • 1.客户端发送一条查询给服务器
  • 2.服务器先查询查询缓存,若缓存命中,则立刻返回,否则进入下一阶段
  • 3.服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划
  • 4.Mysql根据优化器生成的执行计划,调用储存引擎的API执行查询
  • 5.将结果返回给客户端

4.1 Mysql客户端/服务器通信协议

Mysql客户端和服务器之间的通信协议是”半双工”的,这意味着,在任何一个时刻,要么是服务器向客户端发送数据,要么是客户端向服务器发送数据。这种简单的协议限制了Mysql,一个明显的限制是没办法进行流量控制,一旦一端开始发送数据,另一端中能接受完整的消息才能响应它。

查询状态:对于一个Mysql链接,或者一个线程,任何时候都有一个状态,该状态表示了Mysql当前正在做什么。查看当前状态可以用命令:

show full processlist

Mysql的状态值有:

  • Sleep:线程正在等待客户端发送新的请求
  • Query:线程正在执行查询,或者正在将结果发送到客户端
  • Locked:在Mysql服务器层,该线程正在等待表锁。在储存引擎级别实现的锁,例如InnoDB的行锁,并不会体现在线程状态中。对于MyISAM来说这是一个典型的状态,因为它没有行锁。
  • Analyzing and statistics:线程正在收集储存引擎的统计信息,并生成查询的执行计划。
  • Copying to tmp table [on disk]:线程正在执行查询,并且将结果集都复制到一个临时表中,这种状态要么是在执行GROUP BY操作,要么是文件排序操作,或者是UNION操作,[on disk]标记表示Mysql正在将一个内存临时表存放到磁盘上。
  • Sorting result:线程正在对结果集进行排序
  • Sending data:这表示多种情况,线程可能在多个状态之间传送数据,或者生成结果集,或者在向客户端返回数据。

4.2 查询缓存:

  • 在解析一个查询语句之前,要检查缓存是否命中。
  • 这个检查是通过一个对大小写敏感的哈希查找实现的
  • 若缓存命中了,那么在返回查询结果之前Mysql会检查一次用户权限。权限没问题,则直接从缓存中拿到结果返回客户端。

4.3 查询优化处理

查询生命周期的下一步是将一个SQL转换成一个执行计划,这个阶段包括多个子阶段:解析SQL,预处理,优化SQL执行计划。

语法解析器和预处理:Mysql通过关键字将SQL语句进行解析,并生成一颗对应的”解析树”,Mysql解析器将使用Mysql的语法规则验证和解析查询。比如:它将验证是否使用了错误的关键字,或者使用关键字顺序是否正确,或者验证引号能否正确匹配。

预处理器则根据一些Mysql规则进一步检查解析树是否合法,例如,这里将检查数据表和数据是否存在,还会解析名字和别名,看看他们是否有歧义。

下一步预处理器会验证权限。

4.4 查询优化器:

一条查询可以有很多种执行方式,最后都返回相同的结果。优化器的作用就好找到其中最好的执行计划。

Mysql使用基于成本的优化器,它尝试预测一下查询使用某种计划时的成本,并选择其中最小的一个。

Mysql能够处理的优化类型:

  • 重新定义关联表的顺序
  • 将外连接转化为内连接
  • 使用等价变换规则,如(5=5 and a>5)改为a>5
  • 优化COUNT() MIN() MAX():如要找某列的最小值,只需查B-Tree中最左端的记录
  • 预估并转化为常数表达式
  • 覆盖索引扫描
  • 子查询优化
  • 提前终止查询
  • 等值传播
  • 列表IN()的比较:mysql将in()列表中的数据先进行排序,然后通过二分查找的方式然定列表中的值是否满足条件

Mysql如何执行关联查询:在Mysql中,不仅仅是两个表匹配叫关联,其实单表查询,子查询都叫关联。

对于UNION查询,原理是Mysql先将一系列的单个查询放到一个临时表中,然后再重新读出临时表的数据来完成UNION查询。在Mysql概念中,每个查询都是一次关联,所以读取临时表的也是一次关联!

  • 执行计划:

和其他关系数据库不同,Mysql不会生成查询字节码来执行查询。Mysql生成查询的一颗指令树,然后通过储存引擎执行完成这颗指令树并返回结果。如果对某个查询执行explain extended后,再执行show warnings,就可以看到重构出的查询。

  • 排序优化:

排序是一个成本很高的操作,从性能考虑,应尽可能避免排序或尽可能避免对大量数据排序。

  • mysql两种排序算法:
    • 两次传输排序(旧版本使用):先读取行指针和需要排序的字段,进行排序,然后根据排序结果读取所需要的数据行。这需要进行两次数据传输,并且第二次是随机IO,所以成本很高,不过好处是在排序时使用的储存很少!
    • 单次传输排序(新版本使用):先查询所需要排序的列,然后根据给定列进行排序。

五、优化案例

5.1 优化count()查询

count()两种作用:

  • 统计某个列值的数量(不统计null)
  • 统计结果集的行数,用通配符count(*)

案例1:

如何快速查找到所有id>5的城市,首先想到这样查询:

select count(*) from City where id > 5;

通过show status的结果可以看到这个查询要扫描4000行数据,如果将条件反转一下,先查找id<=5的数,然后总数减去,可以将扫描行数减少到5行,大大提高效率,这是因为在查询优化阶段会将其中的子查询直接当作一个常数来处理:

select (select count(*) from City)-count(*) from City where id <=5;

案例2:

问题:如何在同一个查询中统计同一列的不同值的数量,以减少查询的语句量。

解决,用sum():

select sum(if(color='blue',1,0)) as blue,sum(if(color='red',1,0)) as red from items;

或者使用count(),只需要将满足条件设置真,不满足条件设置为null:

select count(color='blue' or null) as blue,count(color='red' or null) as red from items;

5.2 优化关联查询

  • 确保on或者using子句中列上有索引
  • 确保group by或order by表达式中只涉及到一个表中的列,这样mysql才有可能使用索引来优化这个过程

5.3 group by

如果没有通过order by子句显式地指定排序列,当查询使用group by子句的时候,结果集会自动按照分组的字段进行排序,如果不关心结果集顺序,则可以使用order by null,让mysql不再进行文件排序。

5.4 优化limit分页

问题:

当偏移量非常大的时候,例如可以是limit 10000,20,这里mysql需要查询10000条记录然后只返回最后20条,前面10000条将被抛弃,翻到很后面,性能会很差。

延迟查询:

select film_id,desc from sakila.film order by title limit 50,5;

如果这个表非常大,改成延迟查询将大大提高效率,它让mysql扫描尽可能少的页面,获取需要访问的记录后再根据关联列回原表查询需要的所有列:

select film.film_id,film.desc
from sakila.film
    innser join(
        select film_id from sakila.film order by title limit 50,5
    ) as lim using(film_id);

2017年看过的书和电影

读过的书

序号 书名 作者 时间
1 大数据日知录 : 架构与算法 张俊林 2017-01-04
2 田园交响曲 [法] 安德烈·纪德 2017-01-15
3 希腊史研究入门 黄洋、晏绍祥 2017-01-19
4 希腊神话 尼·库恩 2017-02-21
5 经济学原理 : 微观经济学 [美] N.格里高利·曼昆 2017-03-02
6 鼻屎为什么不能吃 [英国]弗朗西斯·古德 2017-03-11
7 一本摄影书 赵嘉、爱摄影工社 2017-03-26
8 一生的读书计划 邓鹏飞 2017-04-07
9 马云内部讲话2 阿里巴巴集团 2017-04-08
10 当你老了 [爱尔兰]W.B.叶芝 2017-04-10
11 21天精通SEO 雨辰资讯 2017-04-10
12 经济学原理:宏观经济学 [美] N.格里高利·曼昆 2017-04-19
13 拜伦传 安德烈·莫洛亚 2017-04-22
14 JAVA多线程设计模式 结城 浩 2017-04-25
15 如此购车最聪明 陈新亚 2017-04-27
16 大画汽车 陈新亚 2017-04-28
17 名车标志和识别 陈新亚 2017-04-30
18 汽车为什么会跑 陈新亚 2017-05-01
19 战后的奇迹日本车 吴远 2017-05-02
20 汽车是怎样跑起来的 [日] 御堀直嗣 2017-05-09
21 跑车的荣耀 叶宏 2017-05-11
22 如此开车最聪明 陈新亚 2017-05-19
23 书读完了 金克木 2017-05-30
24 汽车为什么有电 刘汉涛 2017-06-10
25 驾车养车常识速查速用大全集 车行天下 2017-06-22
26 妄想狂手记 沙门 2017-07-07
27 亿级流量网站架构核心技术 张开涛 2017-07-18
28 架构探险―从零开始写Java Web框架 黄勇 2017-08-22
29 七周七语言 Bruce A.Tate 2017-08-26
30 极简宇宙史 [法] 克里斯托弗·加尔法德 2017-09-03
31 老人与海 海明威 2017-09-03
32 人口原理 [英] 马尔萨斯 2017-09-05
33 财务自由之路 [德] 博多·舍费尔 2017-09-18
34 寻找薛定谔的猫 约翰·格里宾 (John Gribbin) 2017-09-23
35 领导力21法则 约翰.C.麦克斯维尔 2017-09-24
36 万历十五年 [美] 黄仁宇 2017-10-01
37 西方音乐史 朱秋华 2017-10-03
38 本书书名无法描述本书内容 [美] 埃里克·卡普兰 2017-10-07
39 禅与摩托车维修艺术 [美]罗伯特·M.波西格 2017-10-28
40 乌合之众 (法)古斯塔夫.勒庞 2017-11-05
41 哲学问题 [英] 伯特兰·罗素 2017-11-20
42 人类的群星闪耀时 茨威格 2017-11-26
43 深入理解Java虚拟机(第2版) 周志明 2017-11-26
44 中国近代史 蒋廷黻 2017-12-06
45 经济学 : 第18版 (美)保罗·萨缪尔森 2017-12-15
46 中国大历史 黄仁宇 2017-12-25
47 四十自述 胡适 2017-12-27

看过的电影

序号 电影名 时间
1 盲井 2017-01-08
2 老妇杀手 2017-02-07
3 米勒的十字路口 2017-02-11
4 彗星来的那一夜 2017-02-28
5 复仇者之死 2017-03-04
6 西蒙·里夫探访希腊 2017-03-16
7 极速酷客 2017-03-18
8 别惹佐汉 2017-03-25
9 美女与野兽 2017-03-25
10 使徒行者 2017-03-30
11 海鸥食堂 2017-04-05
12 丁丁历险记 2017-04-05
13 全民超人汉考克 2017-04-05
14 我们都是超能力者 2017-04-06
15 电影43 2017-04-07
16 岁月神偷 2017-04-09
17 速度与激情8 2017-04-16
18 心之全蚀 2017-04-16
19 指环王1:魔戒再现 2017-04-18
20 木乃伊3 2017-04-23
21 行尸走肉第七季 2017-05-04
22 摔跤吧!爸爸 2017-05-06
23 魁拔之大战元泱界 2017-05-14
24 魁拔Ⅲ战神崛起 2017-05-14
25 血战钢锯岭 2017-05-29
26 偷拐抢骗 2017-05-29
27 越狱第五季 2017-06-01
28 乌龙特派员 2017-06-02
29 南方公园 2017-06-04
30 小姐好白 2017-06-05
31 师父 2017-06-17
32 勇士 2017-06-18
33 新精武门 2017-07-02
34 第一滴血3 2017-08-20
35 家园防线 2017-08-26
36 权力的游戏第七季 2017-08-29
37 敦刻尔克 2017-09-02
38 撕裂的末日 2017-10-07
39 虎口脱险 2017-10-15
40 末代皇帝 2017-11-02
41 失孤 2017-11-13
42 熔炉 2017-11-16
43 纵横四海 2017-11-20
44 龙猫 2017-11-23
45 天使爱美丽 2017-11-30
46 焦点 2017-12-03
47 窃听风暴 2017-12-08
48 快餐车 2017-12-10
49 剪刀手爱德华 2017-12-13
50 大鱼 2017-12-16
51 罗马假日 2017-12-20
52 大闹天宫 2017-12-21
53 国产凌凌漆 2017-12-24
54 蝴蝶效应 2017-12-25

阅读摘录《人生五大问题》莫罗阿

 

  • 梵莱梨有言:“爱情的真价值,在能增强一个人全部的生命力。”
  • 一个热恋的人,本能地会在他天然的优点之外,增加许多后天的魅力。鸟儿歌唱,有如恋人写情诗。
  • 我和她或他终生缔结了;我已选定了;今后我的目的不复是寻访使我欢喜的人,而是要使我选定的人欢喜。
  • 婚姻绝非如浪漫底克的人们所想象的那样;而是建筑于一种本能之上的制度,且其成功的条件不独要有肉体的吸引力,且也得要有意志、耐心、相互的接受及容忍。由此才能形成美妙的坚固的情感,爱情、友谊、性感、尊敬等等的
  • 母性,有如爱情一样,是一种扩张到自己身外的自私主义,由此产生了忠诚的爱护。因了母爱,家庭才和夫妇一样,建筑于本能之上。
  • “在抽象的幻想中是不会觉得孤独的。”
  • 在此人事剧变的时代,若将人类的行动加以观察,便可感到一种苦闷无能的情操。什么事情都好似由于群众犯了一桩巨大的谬误,而这个群众却是大家都参加着的,且大家都想阻止,指引这谬误,而实际上终于莫名其妙地受着谬误的行动的影响。普遍的失业呀,灾荒呀,人权剥夺呀,公开的杀人呀,生长在前几代的人,倒似乎已经从这些古代灾祸中解放出了。在五十年中,西方民族曾避免掉这种最可悲的灾祸。为何我们这时代又要看到混乱与强暴重新抬头呢?这悲剧的原因之一,我以为是由于近代国家把组成纤维的基本细胞破坏了之故。
  • 无思想的行动是非人的。
  • 拜仑有言:“可怕的是:既不能和女人一起过生活,也不能过没有女人的生活”
  • 对于女性所下的定义,说她是感情的动物,男子则是行动的动物
  • 男人爱构造种种制度,想象实际所没有的世界,在思想上改造世界,有机会时还想于行动上实行。女子在行动方面的天赋便远逊了,因为她们有意识地或无意识地潜心于她的主要任务,先是爱情,继而是母性。女人是更保守,更受种族天性的感应。男子有如寄生虫,有如黄蜂,因为他没有多大的任务,却有相当的余力,故发明了文明,艺术,与战争。
  • 因为什么也消灭不了性格上的深切的歧异,即是最长久最美满的婚姻也不可能
  • 最优秀的男子忠于思想;最优秀的女子忠于家庭。
  • 阿仑有言:人类的问题,在于使神秘与科学得以调和,婚姻亦是如此
  • 洛朗斯曾言:“唤醒男子底最高感应的,决不是女子。而是男子的孤寂如宗教家般的灵魂,使他超脱了女人,把他引向崇高的活动。
  • 经验的唯一的价值,因为它是痛苦的结果,为了痛苦,经验在肉体上留下了痕迹,由此,把思想也转变了。这是
  • 青年人往往是理想主义者,他觉得被父母的老生常谈的劝告所中伤了。他诅咒家庭和家庭的律令。他所希望的是更纯粹的东西。
  • 要有勇气才能发下这终生的盟誓;跳入婚姻时得如游泳家跳下海去一般。
  • 洛希夫谷说:“所谓友谊,只是一种集团,只是利益的互助调节,礼仪的交换,总而言之,只是自尊心永远想占便宜的交易。“
  • “友谊是对于自己的一种自由的幸福的许愿,把天然的同情衍为永远不变的和洽,超出情欲、利害、竞争和偶然之上。”
  • 人类本能都昭示出应当服从一个人的命令。
  • 但一个不知规律的领袖,对于一切个人的幸福与安全,都是一种危险。因此,威权与自由两种似乎矛盾的需要,便发生了与人类社会同样古老的争执。民众随着情势之变迁,依违于两者之间。他们需要完成什么艰难的事业时,便倾向于威权;一俟事业告成,又换了自由的口号。
  • 一个国家的形式,若能把行动的威力,尊重私人生活的态度,改换失时的制度以适应新环境的机能等,熔冶得愈完满,其生命也愈持久。
  • “无代表,不纳税”,曾经是英国德谟克拉西的第一句口号,亦是使议会制普遍化的公式。我们
  • 泰勒朗(Tal-leyrand)曾言:“有了刀剑你什么都可以做,但你不能坐在刀剑上面。”没有一个领袖,单靠着卫队,不得大多数国民的同意或至少是不干涉态度,而能创造一种持久的政体的。最煊赫的威名,也不能使一个领袖把他的民族导向违反本国历史传统的路上去。
  • 斯宾诺莎(Spinoza)的《政治论》中有言:“人类必然是情欲的奴隶。若是一个国家的运命完全系于个人的诚实,凡百事务必须落在老实人手里方能处理得很好时,这个国家决不会如何稳定。在国家的安全上讲,只要事务处理得好,我们亦可不问政府施政时的动机何若。个人的德性是自由或魄力,国家的德性却是安全。
  • 彭维尔(Bainvile)有言:“凡是殚精竭虑去计算事变的人,其所得的结果之价值,与对着咖啡壶作观察的人所得的,相差无几。”
  • 何谓幸福?方登纳(Fontenele)在《幸福论》那册小书中所假设的定义是:“幸福是人们希望永久不变的一种境界。”当然,如果我们肉体与精神所处的一种境界,能使我们想:“我愿一切都如此永存下去”,或如浮士德对“瞬间”所说的“哟!留着罢,你,你是如此美妙,”那么,我们无疑地是幸福了。但若所谓“境界”,是指在一时间内占据一个大意识的全部现象,那么,这些现象之持久不变的存续时间,是不可思议的。
  • 构成幸福的,既非事故与娱乐,亦非赏心悦目的奇观,而是把心中自有的美点传达给外界事故的一种精神状态,我们祈求永续不变的亦是此种精神状态而非纷繁的世事。
  • 思想中若除了感觉与回忆,便只剩下一片静寂的不可言状的空虚。神秘的入定底幻影,即使它只是一片热烘烘的境界,亦只是幻影而已。哪里有纯粹的入定,纯粹的幸福呢?
  • 过去的痛苦的回忆,能把现在的感觉继续的加强
  • 人世固然有真正的疾病真正的贫穷,值得我们矜怜。但幻想的疾病和真实的疾病一样多。精神影响肉体的力量,令人难于置信,而我们的疾苦多数是假想的
  • 旅行是救治精神痛苦的良药。若是长留在发生不幸的地方,种种琐屑的事故会提醒那固执的念头,因为那些琐屑的事故附丽着种种回忆,旅行把这锚索斩断了。
  • 痛苦的人所能栖息的另一处所,是音乐世界。音乐占领着整个的灵魂,再没有别的情操的地位。有时它如万马奔腾的急流一般,把我们所有的思想冲洗净尽,而后我们觉得胸襟荡涤,莹洁无伦;有时它如一声呼喊,激起我们旧日的痛苦,以之纳入神妙的境地之中。随着乐章的前呼后应,我们的起伏的心潮渐归平息;音乐的没有思想的对白,引领我们趋向最后的决断,这即是我们最大的安慰。
  • “我没有一次悲愁不是经过一小时的读书平息了的”
  • 读书必得有自由的、随心所欲的精神状态。在精神创伤平复后的痊愈期间,读书可以发生有益的作用。但我不相信它能促成精神苦楚的平复。为驱除固执的意念起见,必得要不必集中注意的更直接的行动,例如写字,驾驶复杂的机器,爬行危险的山径等。肉体的疲劳是卫生的,因为这是睡眠的准备。
  • 笛卡儿有言:“我惯于征服我的欲愿,尤甚于宇宙系统,我把一切未曾临到的事,当做对于我是不可能的。”
  • 神应时加冲刷,荡涤,革新。无遗忘即无幸福。
  • 广博而无聊的哲学,浮泛的演辞的大而无当的综合,才会随便谈着几百年的事和一切进化问题,真正的哲学顾虑现在。
  • 凡是没有和爱人一起度过几年,几日,几小时的人,不知幸福之为何物,因为他不能想象此永续不断的奇迹,会把本身很平凡的事故及景色造成生命中最神奇的原素。
  • 因为阻止你达到幸福的最严重的障碍之一是,现代人士中了主义与抽象的公式的毒,不知和真实的情操重复亲接。
  • 还得把幸福的题旨重说一遍么?永续的平衡状态在人事中是不存在的。信仰、明智、艺术,能令人达到迅暂的平衡状态。随后,世界的运行,心灵的动乱,破坏了这均衡,而人类又当以同样的方法攀登绝顶,永远不已。在固定的一点的周围,循环往复,嬗变无已,人生云者,如是而已。
  • 最美的爱情,分析起来只是无数细微的冲突,与永远靠着忠诚的媾和。
  • 若将幸福分析成基本原子时,亦可见它是由斗争与苦恼形成的,惟此斗争与苦恼永远被希望所挽救而已。

 

 

chrome浏览器的快捷键整理

对于浏览器,我只推荐两款,chrome和firefoxchrome的速度是最快的,界面清爽简洁,有众多优秀的插件,适合上网娱乐用。Firefox比较适合程度员用,可定制程度高,另外最大的好处是它独有的firebug插件,对于程序员来说,可谓神器。其实该选什么样的软件,有一个最简单的方法,能用国外的就用国外的,崇洋媚外在任何时候都是最优秀的品德。像浏览器,一个品味和智商正常的人,你是相信google还是相信360?我这里整理了一份chrome的常用的快捷键,对于其它浏览器有些都是通用的。能用快捷键完成的就不用鼠标了,一来可以节省时间,二来当双手都在键盘上起舞的时候,你不觉得bigger很高吗?
快捷键 描述
窗口和标签页操作相关
ctrl+N 打开一个新窗口
ctrl+shift+N 在隐身模式下打开新窗口
ctrl+T 打开新标签页
ctrl+W 或ctrl+F4 关闭当前标签页
alt+F4 关闭浏览器
ctrl+Tab 切换到下一个标签页
ctrl+shift+Tab 切换到上一个标签页
ctrl+1 到 ctrl+8 切换到指定位置编号的标签页
ctrl+9 切换到最后一个标签页
ctrl+shift+B 打开和关闭书签栏
ctrl+D 将当前网页加入书签
crtl+shift+T 重新打开上次关闭的标签页。可记住最近关闭的 10 个标签页。
网页操作相关
ctrl+H 查看历史记录页
ctrl+F 网页内查找文字
ctrl+G 或F3 或enter 在ctrl+F选中文字后,查找匹配的下一个匹配项
ctrl+shift+G 或shift+F3 或shift+enter 在ctrl+F选中文字后,查找匹配的上一个匹配项
ctrl++ 或crtl– 放大或缩小网页
ctrl+0 回到原来的网页大小
alt+Home 打开主页
alt+D 或F6 或 ctrl+L 突出显示地址栏网址区域中的内容
shift+alt+T 将键盘焦点设置在工具栏上,使用向右和向左箭头,导航至工具栏的不同区域
Esc 停止加载当前页
在地址栏输入地址按alt+enter 在新标签页中打开网址
输入一个词,按ctrl+enter 自动在地址栏中输入的内容添加www.和.com,然后本页打开网址
ctrl+O 在浏览器中打开计算机上的文件
ctrl+R 或F5 刷新网页
ctrl+F5 或shift+F5 刷新网页,但忽略缓存内容
basespace 后退
alt+左箭头 / alt+右箭头 返回打上/下一个网页
下载、打印与任务管理相关
ctrl+J 查看下载页
alt+点击链接 下载链接
ctrl+S 当前网页另存为
ctrl+P 打印当前页
ctrl+U 查看当前页源代码
shift+Esc 查看任务管理器
链接操作
ctrl+点击链接 从后台在新标签页中打开链接,但您仍停留在当前标签页中
ctrl+shift+点击链接 在新标签页中打开链接,同时切换到新打开的标签页
shift+点击链接 在新窗口中打开链接
命令操作相关
chrome://about/ 所有可设置的选项
chrome://version/ 浏览器版本等相关信息
chrome://plugins/ 显示已安装插件
chrome://history/ 显示历史记录
chrome://dns/ 显示DNS状态
chrome://cache/ 显示缓存页面

梅特里《人是机器》阅读笔记

有很多书都是在kindle和手机上看的,在看的过程中都会做摘录,传上印象笔记。整理一下,放在这里。这本书是机械唯物主义的代表。


2014-03-26

我把无神论者比作那些意图攀登上天的巨人

2014-03-26

打毫无危险的仗,战胜了也不光荣

2014-03-28

有些著作家自己没有什么可说的,为了补偿他们的想像力的枯燥,便拿出一篇根本就没有想像力的文章来:我将不会是第一个这样的人。

2014-03-28

时间,空间,无限,大地,海洋,天宇,一切元素,一切科学,一切艺术,都是这种欲望的对象。精神的欲望在世界的范围内是太局促了,它能想像一百万个世界。整个自然界是它的食粮,想像力是它的胜利。

2014-03-29

心灵凭借着意志的活动或记忆的活动,以某种方式孳生繁衍:它把一个观念联结到另一个同类的迹象上,为了使它们相类似,以及为了使它们结合起来,于是便诞生出第三个观念。

2014-03-29

总之,研究是会使人心醉神迷的,就像爱情一样。如果允许我这样说的话,我说这就是一种精神的凝聚,它的发生,是由于精神忘其所以地醉心于夺其心魄的对象,以致有如摆脱了自己的躯壳和周围的一切,整个投入它所追求的东西。由于感受的力量,它什么都感觉不到了。追求真理和发现真理时所尝到的快乐就是这样

2014-03-29

一个人是正直的,就根本用不着害怕认识自己,只要自爱不包藏那种自鸣得意的危险。

2014-03-30

有一个近代人说,只有虚荣心才使 人不能从第二等的原因里得到如同从第一等的原因里得到的同样的益处。

2014-03-30

有多少种体质,便有多少种不同的精神,不同的性格,和不同的风俗。

2014-03-30

“第二等的原因” 即事物的直接原因,可以感觉得到;“第一等的原因” 则是指事物的根本原因,亦即形而上学的原因,是感觉不到的。这两个名词是经院哲学的名词。

2014-03-30

心灵和身体是一同入睡的。

2014-03-30

人体是一架会自己发动自己的机器:一架永动机的活生生的模型。体温推动它,食料支持它。没有食料,心灵便渐渐瘫痪下去,突然疯狂地挣扎一下,终于倒下,死去。这是一支蜡烛,烛光在熄灭的刹那,又会疯狂地跳动一下

2014-03-30

生肉使野兽凶暴,人吃生肉也会变得凶暴起来。这一点真是的的确确,例如英国人不吃烤得像我们那样熟的肉,而吃红红的、血淋淋的肉,他们似乎多多少少沾上了这种凶暴的性格,这种凶暴的性格一部分是由于这样的食物而来,一部分是由于其他的原因,只有教育才能使它不发作。这种凶暴在心灵里产生骄傲、怨恨,造成对其他民族的轻视、强悍和其他种种使性格变得恶劣的情操,就像粗糙的单调的食物造成一个人迟钝、愚笨一样,后者最常见的表现就是懒惰和马虎随便。

2014-03-30

要是按照“论面相学的书简”这 本书的作者①的那一种想法,那就是:女性既有精神上的优美和肉体上的优美,又几乎具有一切最温柔,最细腻的内心感情,实在大可不必妬忌我们男人所有的一种双重力量,这种力量之所以赋予男人,似乎只是一方面为了使他能更深地沉潜于美色,一方面为了使他能更好地为女性的快乐服务而已。

2014-03-30

证明一个聪明人如果找不到和他一样的人,那么最好的朋友还是他自己。智慧遇不着智慧是要发锈的,因为缺乏练习

2014-03-30

第一,动物愈凶猛,它的脑子就愈小;第二,动物愈驯良,它的这一器官似乎也就以某种方式按比例地愈增大;第三,自然在这里有一条特殊的永恒规律,就是:我们在精神方面获得的愈多,在本能方面失去的也就愈多。

2014-03-30

过分的谦虚(的确是一种罕见的缺点) ,是对于自然的一种忘恩负义。相反地,一种诚挚的自负却正象征着一个美好伟大的心灵,大方坦率的、为这样的感情所陶铸的举止行动,便正是这样的心灵的流露。

2014-03-30

人们只是由于滥用名词,才自以为说了许多不同的东西

2014-03-31

身体是情欲的工具

2014-03-31

因此心灵只是一个毫无意义的空洞的名词,一个思想谨严的人使用这个名词时,只是指我们身体里那个思维的部分。

2014-04-01

我们人这架机器的这种天然的或固有的摆动,是这一架机器的每一根纤维所赋有的,甚至可以说是它的每一丝纤维成分所赋有的,它和钟表的摆动一样,不能永远作用下去。

2014-04-01

当感觉熄灭的时候,思想也就熄灭了,例如在癫痫、中风、麻痹等病症中,都是如此。

2014-04-01

媾时射出来的一滴精液竟能使人感到神圣的快乐,并且由此产生出一个小小的动物,这个小动物按照一定的法则,到某一天便也能同样享受这些无上的乐趣呢

2014-04-01

因此,让我们勇敢地作出结论:人是一架机器;在整个宇宙里只存在着一个实体,只是它的形式有各种变化。