高性能MySQL的笔记(13)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • 元勰

    元勰

    虽然性能问题大多数情况下都和数据库有关,但应用导致的性能问题也不少。性能瓶颈可能有以下很多影响因素: - 外部资源,比如调用了外部的web服务或者搜索引擎。 - 应用需要处理大量的数据,比如分析一个超大的xml文件。 - 在循环中执行昂贵的操作,比如滥用正则表达式 - 使用低效的算法。 记得之前在阿里的时候,岚奕交给我一个任务去处理数据字典的性能优化问题。接口查询返回一直在1.7s左右。太慢了。开始以为是数据库问题,...

    2018-07-22 18:54

  • Lenis

    Lenis

    书中给出的 MTBF 解释为 ” 平均失效时间 “。 翻译文中没有保留英文下来,看到 MTBF 真的是一头雾水。所以查了查百度, MTBF 的原意是 Mean Time Between Failure, 要我翻译,绝对是”平均失效间隔时间“。少了”间隔“两个,乍一看,有点理解不了。高可用性居然要提高”失效时间“, 目标完全相反了么! 所以在翻译方面,不管是任何大神的译作,都不能轻易相信,他们翻译是绝对优雅的。还得自己多思量

    2018-06-22 08:29

  • 元勰

    元勰

    MySQL中索引的限制: 1. 反向查询的时候,如果说!=,not null,not in 2. Like的后缀匹配不生效,如%abs 3. 区分度太低不生效 4. 过滤字段使用函数运算,如 abs(column)后不生效 5. Join语句中的join条件字段类型不一致的时候,不生效 6. 使用非等值查询的时候,MySQL无法使用hash索引。 我记得还有一种关于联合索引的情况。如果没有用到第一个,就不能使用第二个字段的索引。这种还没找到确定的出处。找到再加上。

    2018-05-06 11:36

  • 大众米线

    大众米线 (种桃种李种春风)

    常见的错误: 1.使用真实数据的子集而不是全集。 2.使用错误的数据分布。 3.使用不真实的分布参数。 4.在多用户场景中,只做单用户的测试。 5.在单服务器上测试分布式应用。 6.与真实用户行为不匹配。 7.反复执行同一个查询。 8.没有检查错误。 9.忽略了系统预热的过程。 10.使用默认的服务器配置。 11.测试时间太短。

    2015-01-21 10:40

  • jvmpoko

    jvmpoko (\液/#^_^#)

    其他数据库对于IN完全等同于多个OR条件的子句,因为这两者是完全等价的,在MySQL中这点是不成立的,MySQL对于in的数据先进行排序然后二分查找的方式来判断是否符合条件,这样做的复杂度是O(logn),而OR操作是O(n) MySQL并不会生成查询字节码来执行查询,MySQL生成查询的一颗指令树,然后通过存储引擎执行完成这颗指令树并返回结果 重新定义关联的顺序是优化器一项非常重要的功能,不过也可以人为干预顺序,绝大多数情况,...

    2014-12-23 21:16

  • jvmpoko

    jvmpoko (\液/#^_^#)

    用户向mysql做出请求之后,mysql发生了什么。 mysql服务端与客户端通信协议 之间的通信协议是:“半双工”。一旦客户端发送了请求,它能做的事情只能是等待结果了 客户端从服务器端拉数据,实际上是一个接收数据的过程。这是被动的,就算你粗暴的断开连接也无法阻止这一过程。 使用第三方程序库来读取数据,一般是一股脑儿将数据缓存在内存中,然后从内存中解析数据,这对于一般大小的数据来说降低了mysql服务器的压力...

    2014-12-22 23:28

  • jvmpoko

    jvmpoko (\液/#^_^#)

    在优化有问题的查询的时候,目标应该是找到一个更优的方法获得实际需要的结果而不是一定总是需要从mysql获取一样的结果集 很多时候是我们的关注点错了,而错了不需要一错到底,思维定势。 时代变迁让以前理所当然的事情在硬件软件都快速发达的今天并不适用,比如查询使用复杂语句来代替多个简单语句。 当然在一个独立查询能完成的操作分成多个查询就不明智了。 书中举了个删除数据的例子,每次删除数据后,都暂停下再..

    2014-12-22 23:05

  • jvmpoko

    jvmpoko (\液/#^_^#)

    最简单衡量查询的开销: 响应时间 扫描行数 返回的行数 如果查询需要扫描大量的行但只返回少量的行那么怎么解决,书中给出了三个方法: 看起来简单,但是这就是工业解决手段 1.使用索引覆盖扫描,但是等到查询时候再加索引会不会太早? 2.改变库表结构 3。重写这个复杂的查询 当我们解决问题的时候应该按照312的顺序进行解决。

    2014-12-22 22:35

  • jvmpoko

    jvmpoko (\液/#^_^#)

    冗余索引降低性能,解决:删除。 删除未使用的索引。

    2014-12-21 20:12

  • jvmpoko

    jvmpoko (\液/#^_^#)

    尽量扩展已有的索引的而不是创建新索引

    2014-12-21 20:09

<前页 1 2 后页>

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

高性能MySQL

>高性能MySQL