网页调试工具显示waiting TTFB时间过长的问题

当我发现网页加载很慢的时候,打开开发者调试工具,有时可以发现Waiting TTFB (Time To First Byte)的时间比较长。
什么是TTFB?
TTFB就是最初的网络请求被发起到从服务器接收到第一个字节这段时间,它包含了 TCP连接时间,发送HTTP请求时间和获得响应消息第一个字节的时间。
如图:整个界面加载完需要50s!!!在这里插入图片描述

这种情况优先考虑慢SQL的原因!,打开Navicat类似的工具,查看该页面所执行的SQL语句,看那个语句是慢SQL(大几率是count(*)或者全面扫描的SQL),这时我们在不考虑分表(表很大的时候)情况下,要考虑如何优化SQL了,打开explain查看下SQL的执行情况。
这里提下SQL索引的注意事项

不要在列上使用函数和进行运算不要在列上使用函数,这将导致索引失效而进行全表扫描。
尽量避免使用 != 或 not in或 <> 等否定操作符
尽量避免使用 or 来连接条件
多个单列索引并不是最佳选择,复合索引的最左前缀原则
查询中的某个列有范围查询,则其右边所有列都无法使用索引优化查找。
索引不会包含有NULL值的列
当查询条件左右两侧类型不匹配的时候会发生隐式转换,隐式转换带来的影响就是可能导致索引失效而进行全表扫描。
like 语句的索引失效问题

优化的大致过程如下:
1.where条件单表查,锁定最小返回记录表。这句话的意思是把查询语句的where都应用到表中返回的记录数最小的表开始查起,单表每个字段分别查询,看哪个字段的区分度最高
2.explain查看执行计划,是否与1预期一致(从锁定记录较少的表开始查询)
3.order by limit 形式的sql语句让排序的表优先查
4.了解业务方使用场景
5.加索引时参照建索引的几大原则
6.观察结果,不符合预期继续从0分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值