性能优化
文章平均质量分 86
生命智峰
这个作者很懒,什么都没留下…
展开
-
性能优化--explain的使用
一、业务场景当通过查看Mysql慢日志,我们知晓慢sql后,怎么分析一条sql慢在哪里?以及怎么来优化这条sql呢?同时,假如一张表建立了索引,你想看看你写的sql有没有按预期的用上索引。二、解决办法MySQL 提供了一个 explain 命令,它可以对select语句进行分析, 并输出select执行的详细信息,以供开发人员进行针对性优化。三、explain详解 不多说,先上大家随时能够保存下来阅读的思维导图: ...原创 2021-11-11 17:58:41 · 706 阅读 · 0 评论 -
性能优化--全文搜索引擎(Elasticsearch)
一、业务场景场景1:当数据库表的数据达到一定量的时候,增加索引也不能带来很高的性能优化,但是很多时候又需要各种条件组合查询。场景2:数据库表进行分表之后,想要将分散到各表的数据聚合在一起,对用户提供查询和搜索服务。二、解决办法 需要解决大数据量的搜索问题,可以引进全文搜索引擎技术三、全文搜索引擎技术四、Elasticsearch...原创 2021-11-08 14:19:48 · 1875 阅读 · 0 评论 -
性能优化--缓存(Redis)
一、业务场景对于一些用户频繁访问的热点数据,如果直接访问数据库,数据库会由于并发量过大导致锁表、响应缓慢等情况出现,为了降低数据库的访问压力,有一种策略就是在数据库之上增加一层缓存。二、解决办法引入数据库中间件-缓存,结构如下图:缓存的适用场景对于数据实时性要求不高 对于一些经常访问但是很少改变的数据,读明显多于写,比如一些配置项。 对于性能要求高,高并发场景,比如一些秒杀活动场景。三、缓存(一)常用的数据缓存技术有哪些?1、...原创 2021-11-04 18:45:27 · 290 阅读 · 0 评论 -
性能优化--索引
一、业务场景随着业务系统的用户访问量越来越大,数据表存储的数据量也会越来越大。建表阶段如果没有做到很好的表结构设计,系统响应会越来越慢,在数据量没有达到需要分库分表的时候,可以考虑增加和优化索引来快速实现查询性能的提升。分库分表会增加系统复杂度,数据量没有达到一定程度,优先考虑通过索引优化性能二、解决办法分析表原有的索引和一些慢sql,设计出更合理的索引。给表userinf添加索引,语句:alter table `userinf`addindex `na...原创 2021-11-04 16:07:01 · 344 阅读 · 0 评论 -
性能优化-主从同步、读写分离
一、业务场景随着业务系统用户访问量的增大,会出现高并发的情况,这个时候数据库的压力增大,如果数据库没有设计好,容易出现行锁、表锁、响应缓慢等情况出现。 每台数据库服务器有他的最大连接数和 IOPS,若有一天它无法再满足我们的业务需求,相比于在单台服务器上去做性能提升,不如考虑横向扩展会更加合理。 如果服务对数据库的需求是 IO 密集型的,那可能会经常遇到行锁等待等问题,若要鱼与熊掌兼得,读写分离是否是更好的选择。 如果我们的系统需要做很多报表,或者统计和数据分析,这些业务往往相当地耗费资源但又不.原创 2021-11-03 18:41:04 · 836 阅读 · 0 评论