协议

为什么用GIF做埋点

使用GIF上报的原因 向服务器端上报数据,可以通过请求接口,请求普通文件,或者请求图片资源的方式进行。只要能上报数据,无论是请求GIF文件还是请求js文件或者是调用页面接口,服务器端其实并不关心具体的上报方式。那为什么所有系统都统一使用了请求GIF图片的方式上报数据呢? 防...
阅读全文
数据库

Mysql : SQL_CALC_FOUND_ROWS 和count(*) 性能比较

1.创建表: 此处使用了覆盖索引 无覆盖索引 2.插入100万条数据: 3.读取数据,测试程序执行时间: 4.结论: 使用覆盖索引情况下,使用SQLCALCFOUNDROWS性能较高;无覆盖索引情况下,使用count()性能较高。另使用innoDB引擎比MyISAM低。 附...
阅读全文
踩坑教训

[踩坑] Mysql `for update` 行锁 踩坑

最近业务偶现并发问题. 举个例子: 上面看似行锁 , 实际上使用 for update 需要配合索引去使用, 行锁/区间锁 都需要基于索引上锁. table表仅 配置了 a 字段的索引, 所以上面的sql是区间锁. 解决问题就需要基于 where 条件设置索引.
阅读全文