Archive: 2017/4

MySQL查询性能优化(二)

在发现查询效率不高时,首先就需要考虑查询语句的设计是否合理。如下将会介绍一些查询优化技巧,然后在介绍一些MySQL优化器内部的机制,并展示MySQL是如何执行查询的。最后探索查询优化的模式,以帮助MySQL更有效地执行查询。 优化数据访问查询性能低下的最基本原因是访问的数据太多了。因此大部分的性能低下查询都可以通过减少访问的数据量进行优化。减少数据访问量通常意味着访问了太多的行,但有时也可能是访问

MySQL查询性能优化(一)

MySQL查询性能的优化涉及多个方面,其中包括库表结构、建立合理的索引、设计合理的查询。库表结构包括如何设计表之间的关联、表字段的数据类型等。这需要依据具体的场景进行设计。如下我们从数据库的索引和查询语句的设计两个角度介绍如何提高MySQL查询性能。 数据库索引索引是存储引擎中用于快速找到记录的一种数据结构。索引有多种分类方式: 按照存储方式可以分为:聚簇索引和非聚簇索引 按照数据的唯一性可以

一致性hash

一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久化存储则要做数据迁移,如果是分布式缓存,则其他缓存就失效了。 因此引入了一致性hash算法 把数据用hash函数(如MD5),映

A给B转100元

在单应用或者传统的强一致解决方案中,A账户转给B账户100元,一个简单的事务就可以保证但是现今互联网界,分布式系统和微服务架构盛行,一个简单操作,在服务端非常可能是由多个服务和数据库实例协同完成的。在互联网金融等一致性要求较高的场景下,多个独立操作之间的一致性问题显得格外棘手。基于水平扩容能力和成本考虑,传统的强一致的解决方案(e.g.单机事务)纷纷被抛弃。其理论依据就是响当当的CAP原理。我们往