第一行是列的名字 第二行的数据应该忽略 因为这是测试实际启动前的数据 接下来的行包含Unix 时间戳 日期 时间(注意时间数据是每 秒更新一次 前面脚本说明时曾提过) 系统负载 数据库的QPS(每秒查询次数)五列 这应该是用于分析系统性能的最少数据需求了 接下来将演示如何根据这些数据快速地绘成图形 并分析基准测试过程中发生了什么
返回目录高性能MySQL
编辑推荐
ASP NET开发培训视频教程
数据仓库与数据挖掘培训视频教程
lishixinzhi/Article/program/MySQL/201311/29735
高性能mysql 第三版怎么样在MySQL社区高性能的mysql怎么样,这是一本重量级高性能的mysql怎么样的书 , 我不知道出版社是怎么挑选译者的,但是很明显,我个人的意见,这次挑选非常的失败 。书中98页倒数第4行的"binary search"的翻译(二进制搜索)已经道出了一切 , 但凡学过计算机的,我估计都不能做出这样的翻译 。在计算机领域,二进制是一个专门的术语,有特定的含义 。我不仅怀疑译者根本没学过"binary search"算法,以至于只能按字面翻译 , 我甚至怀疑他们连“二进制”的含义可能也不懂,找这样的人来翻译,真是天大的笑话 。再举一个术语的翻译“secondary index”,书中的译法是“第二索引”,暂且不论惯用的“二级索引”是否是一个标准的译法 , 假如在主键之外,还有B,C两个索引,如果B叫“第二索引” , 那么C就应该叫“第三索引”了?为什么C也叫“第二”呢,难道是并列第二?“第二”在汉语中是一个意思很明确的词,你当然可以说“第二”也能表示“二级”的意思,这种牵强的脱离通用语义的翻译真是对翻译标准“信雅达”中“达”字的讽刺 。关于“达”我们还可以找一个例子,介绍coverring index的部分,译文第96页,原文第124页 。原文是“For example,the sakila.actor table uses InnoDB and has an index on last_name, so the index can cover queries that retrieve the primary key column actor_id, even though that column isn’t technically part of the index”,译文是“例如,sakila.actor表适用了InnoDB并且在last_name上有索引,因此,即使该列不是索引的一部分,索引页可以覆盖取得主键actor_id的查询”,原文读来没有任何的歧义,译文却变了样,第一遍读的时候,你能分辨出“即使该列不是索引的一部分”中的“该列”是指代的“last_name"呢?还是后面出现的"actor_id”呢?将代词放在指代的名词之前出现 , 这绝对是对人的智力的挑战,即便是诗歌,我也没见汉语中有多少这样的用法 , 遑论技术性文字 。在原文中"that column"这个代词出现在了"actor_id"之后,不知道为什么在译文中,代词就钻到了指代的名词之前 。如果可以抛开“达”,还要争辩词的译法是“见仁见智”的,那么对“信”的违背则已经使这本重量级巨著的翻译失去了最基本的存在价值,随便举两个例子: 1. 4.6查询提示优化对HIGH_PRIORITY的描述 , 译本第152页,原书第195页,原文是“HIGH_PRIORITY tells MySQL to schedule a SELECT statement before other statements that may be waiting for locks, so they can modify data.”,译文是“HIGH_PRIORITY告诉MySQL将SELECT语句放在其他语句的前面,以便它修改数据”,原文中的“so they can modify data"变成了"以便它可以修改数据",复数形式的they变成了单数形式的"它" , 这个改变虽然细微,但直接影响了这个位置的代词所指代的主语,这个代词到底是"SELECT statement"呢?还是"other statements that may be waiting for locks"?原文中当然是其他能modify data的statements,而到了疑问中,变成了"SELECT statement",问一个菜鸟级的问题,select statement能modify data吗? 2. 还是4.6查询提示优化,对DELAYED的描述,译文第152页,原文第196页 。原文是"It lets the statement to which it is applied return immediately and places the inserted rows into a buffer, which will be inserted in bulk when the table is free",译文是"应用了这个提示的语句会立即返回并将待插入的列放入缓冲区,在表空闲的时候再执行插入",粗看没什么问题,细看问题一大堆 。2.1 在原文中,主语是it,指代的是"DELAYED"这个hint,到了译文中,主语从"提示"本身变成了"应用了这个提示的语句" , 于是在原文中的"delayed"这个hint一方面使语句立即返回,另一方面使MySQL在后台处理被缓存的数据两层意思变成了语句一方面返回,另一方面“将待插入的列放入缓冲区” , 到底是"DELAYED"使数据被插入buffer,还是应用了"DELAYED"的语句使数据被插入了buffer,区别虽然微妙,但区别就是区别,译文的意思与原文已差之毫厘,谬以千里 。2.2 原文中"which will be inserted in bulk..."是一个被动语态,指数据被插入 , 主语没有明确指出,在上下文环境中当然是数据库高性能的mysql怎么样;而到了译文中,“在表空闲的时候再执行插入”是一个主动的语态 , “谁”执行了插入?如果和上句连起来,很容易理解成“应用了这个提示的语句在表空闲的时候再执行插入”,这不是扯淡吗?当然 , 稍微有点数据库常识的人都不会这样理解 , 但原文原本语义清晰,翻译过来却主语混乱 , 实在令人难以接受 。2.2 在原文中的"rows",一个复数形式的词 , 到了译文中 , 变成了"列" , 假如说复数变单数还能接受,把"row"翻译成"列"真是天才的创举 。2.3 原文中"will be inserted in bulk when ..."明确指出了insert的方式是"in bulk",但是这个信息在译文中丢失了 。类似的问题简直处处可见,原文的文字简洁清晰,非常容易理解,但我读到的译文却非常难以理解 , 更可恨的是,原文中大量的信息被扭曲,抛弃 。“信雅达”这三标准没有一个做到 。我个人的总结是,这个译本的水平跟中国足球的水平一样 , 能把球停在百米开外,一个字,糙 。客观地说,这本书至少将MySQL优化的知识在中国的传播门槛大大降低,但咱不是黄莺,不会唱赞歌,既然是书评 , 就是要来挑刺的,看不到刺,容不得刺,电子工业永远没有赶上O'Relly的机会,中国的技术书籍永远都只能是菜鸟水平 。
推荐阅读
- 游戏工作室电脑开发流程,游戏工作室开发游戏
- 你如何看待明星推广,怎样利用明星做推广
- apache虚拟主机配置转发,apache虚拟机配置文件
- 连南卖货直播,直播卖货顺口溜
- python求累加和函数 用python累加求和
- ios12.4.8如何隐藏图标,ios12怎么隐藏图标
- 恋爱养成游戏模拟器,恋爱养成 手机游戏
- cetos使用postgresql的简单介绍
- java密码登录简单代码 java密码登录简单代码怎么写