数据库
蒲公英丶种子
勤于思考,乐于总结
展开
-
Hive grouping sets 多维度交叉清洗数据
工作中经常会遇到需要多维度交叉清洗数据的情况,比如计算每天的活跃用户数,需要知道每天整体dau,同时也需要知道不同平台如Android、iOS各自的dua。 一般情况下这种情况可能需要写两个query,第一个query仅按日期 group by,第二个query按日期+平台 group by。 针对这种情况Hive提供了grouping sets可以简单方式通过一个query实现相同的效果。 语法结构如下: select day_id,platform,count(distinct user_id原创 2021-04-23 16:24:51 · 308 阅读 · 0 评论 -
查看mysql表占磁盘大小
mysql 查看各表所占磁盘大小语句:原创 2014-10-08 11:11:56 · 597 阅读 · 0 评论 -
MySQL隔离级别
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。 Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty转载 2014-10-09 11:55:46 · 443 阅读 · 0 评论 -
mysql中的select * for update
由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住)。 举个例子: 假设有个表单products ,里面有id跟name二个栏位,id是主键。 例1: (明确指定主键,并且有此笔资料,row lock) SELECT * FROM转载 2014-10-10 09:55:52 · 413 阅读 · 0 评论