日常开发中,我们经常会遇到数据库慢查询。那么导致数据慢查询都有哪些常见的原因呢?今天田螺哥就跟大家聊聊导致MySQL慢查询的12个常见原因,以及对应的解决方法。
聊聊高可用的 11 个关键技巧
大型互联网架构设计,讲究一个四件套组合拳玩法,高并发、高性能、高可用、高扩展。
如果能掌握这四个方面,应付大厂面试以及日常工作中的架构方案设计基本不是什么难题。
今天,Tom哥就带大家学习下高可用都有哪些设计技巧?
设计好接口的36个锦囊!
1. 接口参数校验
入参出参校验是每个程序员必备的基本素养。你设计的接口,必须先校验参数。比如入参是否允许为空,入参长度是否符合你的预期长度。这个要养成习惯哈,日常开发中,很多低级bug都是不校验参数导致的。
比如你的数据库表字段设置为varchar(16),对方传了一个32位的字符串过来,如果你不校验参数,插入数据库直接异常了。
出参也是,比如你定义的接口报文,参数是不为空的,但是你的接口返回参数,没有做校验,因为程序某些原因,直返回别人一个null值。。。
一次SQL查询优化原理分析:900W+数据,从17s到300ms
有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms (execution: 163 ms, fetching: 184 ms);
操作: 查询条件放到子查询中,子查询只查主键ID,然后使用子查询中确定的主键关联查询其他的属性字段;
原理: 减少回表操作,利用延迟关联或者子查询优化超多分页场景。
-- 优化前SQL
SELECT 各种字段
FROM `table_name`
WHERE 各种条件
LIMIT 0,10;-- 优化后SQL
SELECT 各种字段
FROM `table_name` main_tale
RIGHT JOIN
(
SELECT 子查询只查主键
FROM `table_name`
WHERE 各种条件
LIMIT 0,10;
) temp_table ON temp_table.主键 = main_table.主键 简单了解 USDT TRC20 TRX BNB BEP20 BTC
一、什么是TRC20?
USDT提币转账时会出现trc20,波场TRON的网络协议分为TRC 10和TRC 20,TRC 20协议是由ERC 20转化而来,基于TRC 20协议的稳定币也发行了,基于TRC 20的USDT代币(USDT-TRON)能够实现与基于波场的协议和去中心化应用之间的互通性,并且让用户能够在波场全网中进行与法币挂钩货币的交易及交换。