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