当前位置: 首页 > news >正文

导航网站开发用户文档企业小程序制作开发

导航网站开发用户文档,企业小程序制作开发,网络营销推广及优化方案,兰州网站seo优化索引 添加索引 where条件的关键自动或者order by后面的排序字段可以添加索引加速查询 索引只能通过删除新增进行修改,无法直接修改。 # 查看表的索引 show index from table_name; show create table table_name; # 添加索引 alter table table_name add index …

索引

添加索引

where条件的关键自动或者order by后面的排序字段可以添加索引加速查询

索引只能通过删除+新增进行修改,无法直接修改。

# 查看表的索引
show index from `table_name`;
show create table `table_name`;
# 添加索引
alter table `table_name` add index idx_name(name);
create index idx_name on `table_name` (name);
# 删除索引
alter table `table_name` drop index idx_name;
drop index idx_name on `table_name`;
索引是否生效

添加的索引,并不一定会生效,可以通过explain查看SQL的执行计划。

EXPLAIN SELECT * FROM zz_user WHERE user_id = '1';

在这里插入图片描述
在这里插入图片描述

索引失效原因
在这里插入图片描述

选错索引

SQL优化

在这里插入图片描述

远程调用

并行调用

当一个接口中调用的多个远程方法之间没有先后依赖顺序时,可以使用并行调用,这样整个接口的耗时就会以最长耗时的远程为主。比如要查询一个人的全量信息,而这个人的全量信息保存在不同的服务中,比如用户服务、积分服务、成长值服务中时,可以通过一个关键数据,比如用户的id同时去这三个服务中进行查询,查询后进行汇总。这样就可以减少接口总耗时。

数据异构

可以通过数据冗余,将用户服务、积分服务、成长值服务三个服务中的数据统一放到一个地方,比如redis中,这样就可以减少远程调用的次数了。

但因为数据被存储在了两个不同的地方,数据进行更新时,就会因为更新时间问题导致数据的不一致性出现。

重复调用

循环查询数据库

当需要查询一批用户的信息时,很大程度上会去遍历用户信息关键字的集合,通过对每一个关键字查询一次数据库,将查询到的数据进行汇总。这样会因为网络、数据库的连接、验证等操作耗费很多的时间。可以对这批用户集合进行批量查询。只需要远程调用一次,就可以查询出所有的数据。批量查询的记录条数要有限制,最好控制在500以内。oracle的in关键字最多只能放1000个关键字

死循环

避免因为退出条件的判断出错导致循环无法结束。

无限递归

在进行递归处理时,如果一个节点的子节点指向了它的父节点导致形成了一个循环,这样就会出现无限递归,出现栈溢出。

异步处理

对于一个接口中的非业务操作,比如用户操作记录、积分记录等不需要实时处理看到结果的,可以进行异步处理,减轻系统的压力,加快业务操作的响应

线程池

可以使用线程池进行非业务操作的处理,但可能会因为操作的异常、服务的异常(重启)导致操作的丢失,造成数据的丢失。

mq

可以将非业务操作放入到mq服务中,通过mq的高可用以及幂等重试保证操作的完整性。

避免大事务

在这里插入图片描述

  1. 少用@Transactional注解
  2. 将查询(select)方法放到事务外
  3. 事务中避免远程调用
  4. 事务中避免一次性处理太多数据
  5. 有些功能可以非事务执行
  6. 有些功能可以异步处理

锁粒度

synchronized
redis分布式锁
数据库分布式锁

分页处理

当要查询的数据量比较大时,可能会因为网路宽度的原因,导致查询的出现。查询的数据很多时,页面上也无法一次性展示,此时可以通过分页,减少一次性查询的数据库。也可以在多次查询后,将查询后的数据进行汇总。

缓存

redis缓存
二级缓存

分库分表

分库解决数据库连接资源不足问题和磁盘io的性能瓶颈问题

分表解决单表数据量太大,SQL语句查询数据时,即时走了索引也非常耗时的问题,此外也可以解决cpu资源问题。

http://www.yayakq.cn/news/716733/

相关文章:

  • 网站设计论文答辩站中站网站案例
  • 企业网站诊断建设部颁发的证书网站
  • 网站上线 flashwordpress简洁
  • 学网站建设要多少钱linux系统服务器怎么做网站
  • 请问有没有做网站教育培训有限公司可以多少钱注册
  • 自助免费建站小白怎么做网页
  • 抽奖网站怎么制作教做衣服网站
  • 大型营销型网站建设北京最新公告
  • 推广普通话的宣传语昆明seo建站
  • 如何 网站推广网站服务器维护 价目表
  • 销售网站模板网站地图wordpress
  • 宁波网站制作相信荣胜网络物流公司网站建设 能跟踪物流
  • 网站搭建项目描述网站开发合同.doc
  • 安徽网站建设费用2021不付费黄台网址
  • 北京朝阳做网站满山红厦门网站建设
  • 成都网站怎么推广手游制作软件
  • 网站备案 多久开封市建设银行网站
  • 东营微信网站制作金螳螂装饰公司
  • 做网站那种布局好app软件开发的费用计入什么科目
  • 云南网站制作怎么计费洛米wordpress主题
  • 营口网站开发公司支持wordpress
  • 做网站策划的工具网店怎么开 货源怎么找
  • 南宁做网站科技公司网站推广软件推荐
  • 济南网站制作方案网上买手表哪个平台最好
  • dw网站模板免费中小型网站建设与网络搭建
  • 做网站实时数据用接口wordpress跟php
  • 做视频网站为什么费钱wordpress怎么修改固定链接
  • 建设银行信用卡被钓鱼网站骗了15000asp企业网站源码下载
  • 北京建设网站的公司兴田德润简介网站怎么写
  • 做实验的网站网站模板样式修改