search 2013 adfgs
作者:Sky.Jian | 可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明
链接:http://isky000.com/mysql-performance-tuning-and-architecture/latest-errors-correction | del.icio.us | Twitter it

推荐序二
“当年加入淘宝的毕业生成了淘宝开发 DBA 的主管,他就是本书的作者” -> “当年加入淘宝的毕业生成了淘宝开发DBA的主管,而当年加入阿里巴巴B2B的毕业生,就是本书的作者”

序言
“APS 编写网站应用” -> “ASP 编写网站应用”

P90
“假设 id 为 100″ -> “假设 id 为 1″
“取出前20个” -> “取出第100至120个”
“通过调用存储引擎借口来获取” -> “通过调用存储引擎接口来获取”

P91
代码 6-4 的解决方案一中 “LIMIT” 之前增加 “ORDER BY gmt_create desc”, 也就是在 P91 的第2行和第3行之间插入1行:ORDER BY gmt_create DESC

P112
最后一行的 “quuery” -> “query”

P117
“尽两减少大的复杂 Query” -> “尽量减少大的复杂 Query”

P152
“不仅 user_group 表的访问从 ref 变成了 ALL” -> “不仅 group_message_content 表的访问从 ref 变成了 ALL”

P167
代码 8-31 替换成如下:

sky@localhost : example 03:12:45> EXPLAIN SELECT DISTINCT MAX(user_id)
    ->
FROM group_message
    ->
WHERE group_id > 1 AND group_id < 10
    ->
GROUP BY group_id\G
***************************
1. row ***************************
          
id: 1
 
select_type: SIMPLE
        
table: group_message
        
type: range
possible_keys: idx_gid_uid_gc
          
key: idx_gid_uid_gc
      
key_len: 4
          
ref: NULL
        
rows: 3563
        
Extra: Using where; Using index; Using temporary; Using filesort
1 row in set (0.00 sec)

在”最后再看一下这个和 GROUP BY 一起使用的带有聚合函数的示例,与上面第三个示例相比,可以看到已经多了 filesort 排序操作了,因为我们使用了 MAX 函数。”之后增加
“要取得分组后的 MAX 值,又无法使用索引完成操作,只能通过排序才行了。”

P178
“但是从 5.0.3 开始,VARCHAR 的最大存储限制已经更改为字节数限制了,扩展到可以存放 65535 bytes 的数据,不同的字符集可能存放的字符数并不一样。也就是说,在 MySQL 5.0.3 之前的版本,M 所代表的是字符数,而从5.0.3 版本开始,M 代表的是字节数了。” ->
“但是从 5.0.3 开始,VARCHAR 的最大存储限制已经改为字节数,而且不再有单个字段的限制,而是受单条记录除 TEXT 和 BLOB 类型字段外最大不超过 65536 Bytes 的限制。不过,字段定义中的 M 仍然表示字符数,所以定义后的 VARCHAR 类型字段实际最大可存放数据长度与字符集相关的。”

P199
“最多将缓存 32 个连接线程” -> “最多将缓存 64 个连接线程”

P200
“(127 – 12) / 127 * 100%” -> “(127 – 11) / 127 * 100%”

P202
“平台上可以超出 4BG 的限制” -> “平台上可以超出 4GB 的限制”

P207
“Key_buffer_UsageRatio = (1 – Key_blocks_used/(Key_blocks_used+Key_blocks_unused)) * 100%” ->
“Key_buffer_UsageRatio = (Key_blocks_used/(Key_blocks_used+Key_blocks_unused)) * 100%”

P286
“Lucene 具肖高效的全文索引和分词算法” -> “Lucene 具有高效的全文索引和分词算法”

Update: 2009.07.06

P119 没出现一次对应的事件则数量加1 -> 每出现一次对应的事件则数量加1

P120 然后根据分析结果着手指定优化计划 -> 然后根据分析结果着手制定优化计划

Update: 2009.07.07

P66 “使用工具” -> “实用工具”

Update: 2009.07.14

P8 “Eent Scheduler” -> “Event Scheduler”

p54 “限制耽搁用户” -> “限制单个用户”

P52 “mysql.table_priv” -> “mysql.tables_priv”
“mysql.column_priv” -> “mysql.columns_priv”

Update:2009.08.14

P191 L16 “Event 都被会被 IO 线程” -> “Event 都会被 IO 线程”

P243 L5 “修改的才式” -> “修改的形式”

Update:2009.09.03

, , ,

已经有37个回复

  1. cc0cc Says @ 09-07-6 10:04 am

    最后一条,Lucene没有postgresql做着全文索引和分词方便,欢迎赐教。使用postgreSQL搭建比lucene方便N倍的全文搜索 第一部分->http://www.54chen.com/c/601

  2. 小和尚 Says @ 09-07-6 10:24 am

    还有个地方接口写成了借口

  3. 朝阳 Says @ 09-07-6 12:27 pm

    @cc0cc
    呵呵,这里并没有拿 Lucene 和任何其他数据库管理软件比较做全文索引的便利性吧 :)
    不过个人认为,整体来比较,在搜索方面,PostGreSQL 还是没法和 Lucene 相比的。

  4. zhenggc Says @ 09-07-6 4:47 pm

    前言还是什么地方有个ASP写成APS了,书不在身边,不好意思

  5. 朝阳 Says @ 09-07-6 5:12 pm

    @zhenggc
    非常感谢,已经增加,谢谢!

  6. munn Says @ 09-07-6 6:18 pm

    P119 没出现一次对应的事件则数量加1 -> 每出现一次对应的事件则数量加1

    P120 然后根据分析结果着手指定优化计划 -> 然后根据分析结果着手制定优化计划

  7. cares Says @ 09-07-7 11:13 am

    参考你书上的profiling优化分析,发现一个sql
    Copying to tmp table | 2.684808
    这里占用时间很多。对于这个有什么优化方案?

  8. georgexsh Says @ 09-07-7 2:40 pm

    最新勘误 这样的名字容易引起误会吧,不如写成 勘误090706 比较好

  9. sgcqh Says @ 09-07-7 8:59 pm

    出版拉??

  10. 朝阳 Says @ 09-07-7 10:48 pm

    @cares
    这一步消耗主要是因为使用了临时表,通过 explain 来查看执行计划应该有”Using temporary”一项吧,这里只能通过调整SQL和索引,避免使用临时表

  11. 朝阳 Says @ 09-07-7 10:50 pm

    @georgexsh
    之所以叫最新勘误,是告诉大家所有的勘误信息都在这篇文章中,集中发布勘误信息,避免因为发布在多篇文章中让大家找起来麻烦。我会不断更新这篇文章中的勘误信息 :)

  12. 朝阳 Says @ 09-07-7 10:53 pm

    @munn
    万分感谢,已经更新勘误表信息,谢谢!

  13. fireshort Says @ 09-07-17 12:59 pm

    p8顶头的“Eent Scheduler”,应该是”Event Scheduler”

  14. 巴萨球迷 Says @ 09-07-17 2:12 pm

    正在拜读作者的这本书,感觉受益匪浅啊~~

  15. luoxuan Says @ 09-07-29 9:14 am

    p54

    max_user_connections 限制耽搁用户

    应该是:限制单个用户

  16. Simon Says @ 09-08-7 4:06 pm

    还有60页的“我想任何一位维护过数据库的人都知道数据库是须要备份的”->“我想任何一位维护过数据库的人都知道数据库是需要备份的”

  17. 阿勤 Says @ 09-08-8 1:03 pm

    建议勘误表加个段及行数,方便更改。

  18. lemon Says @ 09-08-13 3:38 pm

    第52页的“mysql.table_priv和mysql.column_priv”应该是“mysql.tables_priv和mysql.columns_priv”

  19. 朝阳 Says @ 09-08-17 5:10 pm

    @fireshort
    已经更新到勘误信息中

    @巴萨球迷
    能给您带来帮助让我感到很欣慰 :) 多谢认可!

    @luoxuan
    已经更新到勘误信息中

    @Simon
    非常感谢您的反馈,只不过这里是出版社要求从“需要”更改成“须要”的

  20. 朝阳 Says @ 09-08-17 5:13 pm

    @lemon
    非常感谢,以及更新了 :D

  21. qinyf Says @ 09-08-21 6:10 pm

    p243 第五行开头
    “修改的才式” 这里可能是笔误了

  22. qinyf Says @ 09-08-24 2:06 pm

    p186 第三行 “./configure-help” 应为 “./configure –help” 后续也有不少 — 被连起来成为了一个破折号

  23. qinyf Says @ 09-08-25 10:27 am

    p191 第三段第二行 多了一个“被”字:Event 都”被”会被IO线程读取到Slave端

  24. 蒲公英 Says @ 09-08-26 1:47 pm

    首先感谢您的辛苦工作!
    正在读该书,发现不太合适的地方请斟酌:
    1. 书中有些地方[需要]写成了[须要],比如说 P54 下数第 3 行;
    2. p53 图 4-3 中 Table Level 和 Column Level 的描述不清楚;

  25. 蒲公英 Says @ 09-08-31 5:09 pm

    P90第3行:借口 —〉 接口

  26. 蒲公英 Says @ 09-09-1 10:00 am

    以上提出的两点多数大家已经提过抱歉。

    [建议:] 类似P90的示例如果加上表结构的描述感觉会更容易理解。

  27. 朝阳 Says @ 09-09-3 3:10 pm

    首先多谢大家的反馈
    @蒲公英
    示例schema结构已经在附录中列出了,请针对查看
    @qinyf
    P186中的内容是由于排版问题使显示异常造成最后印刷的显示效果有点问题。其他已经更新上去了。

  28. Grom Says @ 09-09-5 1:38 pm

    195页有两处“须要”,个人认为用“需要”更准确。
    请简兄参考

  29. blang Says @ 09-09-5 4:26 pm

    p187的参考配置在5.1.35上提示–without-bench,–with-innodb,–with-csv-storage-engine ,–with-federated-storage-engine无效选项,但愿是我英语不好写错了^_^

  30. 青怪 Says @ 09-10-2 12:45 am

    第7页“MySQL 安装包大小仅”100MB左右“,我有点不懂,我平时下载的好像都不到10MB的样子。

  31. 青怪 Says @ 09-10-7 12:27 am

    还发现一个问题,就是看这本书,一连看了好几张,还没有发现作者提到这本书所有示例所处的 环境,是windows下Mysql还是Linux环境下的。我是新手,之前没有接触过Linux,看的一头雾水。

  32. 朝阳 Says @ 09-10-19 2:17 pm

    @青怪
    不太清楚你的俄 10MB 是一个什么包?不论是源码还是用于 Linux 的 RPM 包 ,还是用于 Solaris 的 pkg,抑或者是用于 Debian 的 deb 包,都不是这个量级吧?
    SQL示例与 OS 环境并无太大关系,所以只在最后的附录中提供的创建Schema结构的脚本。而我的实际测试环境全部是 Linux。我的环境只有 Linux,Solaris,AIX(家里或者工作都没有Windows)

  33. windows7下载 Says @ 11-02-9 4:55 pm

    恩,不错,这还有勘误!

  34. Says @ 13-04-10 11:41 am

    P32页, InnoDB完全可以通过REDO日至将数据库崩溃时已经完成但还没来得及将内存中已经修改的但未完全写入磁盘的数据进行重新操作(Rodo)写入数据文件,此处Rodo应该为Redo吧 ?????

  35. Sky Says @ 13-04-28 1:56 pm

    确实是的,感谢您的提醒

Trackbacks & Pingbacks

  • 《MySQL性能调优与架构设计》最新勘误 | 葡萄树 On The Road --- 我只是一个会操作计算机的民工

    [...] 《MySQL性能调优与架构设计》最新勘误 2009年07月6日  |  15:57分类:技术专题  |  标签:DB、mysql、架构  |  1 views 作者:Sky.Jian | 可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明 链接:http://www.jianzhaoyang.com/mysql-performance-tuning-and-architecture/latest-errors-correction [...]

  • 读《MySQL性能调优与架构设计》 « 后端技术@tjumicy

    [...] 此外,有一个小遗憾是第一版笔误和文字错误较多,以及部分内容因为篇幅所限略显不够严谨,虽然这些都不影响这是一本对MySQL爱好者不错的书。好消息是第一次印刷因为卖的好,基本上已经卖完了。作者在blog上更新了勘误表,部分勘误已经交付第二次印刷,新买到的应该会好不少。 [...]

看完了要说点啥么?