1.查询优化 1)保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用 ...
一个项目刚开始的时候是为了实现基本功能,随着版本和功能的迭代,大数据和高并发成了软件设计必须考虑的问题 本质很简单,一个是慢,一个是等。 两者是相互关联的,因为慢,所以要等,因为等,所以慢,解决了慢,也就解决了等,解决了等,也就解决了慢。 关键是如何解决慢和等, 核心一个是短,一个是少,一个是分流,最后一个是集群 横向扩张 读写分离 建立主从 短 页面静态化 用户可以直接获取页面,不用走那么多流程 ...
2019-05-17 08:20 0 490 推荐指数:
1.查询优化 1)保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用 ...
前言 我们都知道初创公司一开始都是以单体应用为首要架构,一般都是单体单库的形式。但是版本以及版本的迭代,数据库需要承受更多的高并发已经成了架构设计需要考虑的点。 那么解决问题,就得说到方案。但是方案有很多,我们该怎么选择呢? 优化与方案 基本上,我们优化要从几个关键字入手:短距离,少数据 ...
有些时候我们希望减少对数据库的查询来提高程序的性能,因为这些数据不是经常变更的,而是会在很长一段时间内都不会变化,因此,我们每连接一次数据库,都会把相应的结果用文件的形式保存起来。比如对于一个商城来说,我们的商品的数量可能会经常变,但是我们的商品类型以及商品的价格这些东西都会在很长的一段时间 ...
1、最初级的缓存不一致问题以及解决方案问题:先修改数据库,再删除缓存,如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧数据,数据出现不一致。解决思路: 先删除缓存,再修改数据库,如果删除缓存成功了修改数据库失败了,那么数据库中是旧数据,缓存中是空的,那么数据不会不一致,因为读 ...
1.拆表:大表拆小表(垂直拆,水平拆;分表,分区partition,分片sharding),可以在应用层实现,也可以在数据库层面实现一部分;提高系统性能。 2.分库:把表放到不同的数据库,这也是分布式数据库的基础;提高系统性能。 3.分布式:不同的数据库放到不同的服务器;提高系统性能。 4. ...
ps :读书笔记 海量数据解决方案 缓存和页面静态化 缓存就是把从数据库中的数据暂时存起来,下次使用时无需在查询数据库。缓存分为程序直接保存到内存和框架框架2种。程序缓存一般使用currentHashMap直接保存到内存。框架缓存的话有redis,memcache等。 ps:空数据值 ...
概述 尽可能的让数据库处于可用状态。 提供高可用解决方案要考虑的因素 1、RTO(Recovery Time Objective)允许的脱机时间, 2、RPO(Recovery Point Objective)允许的数据丢失量 RTO和PRO统称为 SLA(Service Level ...
设计一个秒杀系统 什么是秒杀 秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到。对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限 ...