首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

位运算实现用户留存率

用户每次访问后更新最后访问时间(last_visited_time),假设3.6号新注册100个用户,需要统计次日留存,则在3.8号凌晨统计reg_time为3.6并且last_visited_time...同样的统计次日留存,则SQL应该是这样子: SELECT COUNT(*) FROM TBL_NAME WHERE DATE(reg_time) = '2014-03-06' AND day_2 = 1...3、通过位运算实现 上面的数据表中记录的值就是很多的0和1,可以用这些二进制的0和1来表示当天是否有访问过,1表示有访问过,0表示未访问过。...0 0 0 0 0 0 0 0 0 0 1 0 按位与是将都为1的设置为1,如果用整数来表示,求次日留存是 3 & 2 ,如果结果为2则表示次日有访问过,如果不为2结果为0则说明没有访问过。...听到这种方案后也怀疑效率问题,在1000w数据中统计速度与reg_time中索引时间差不多,所以问题不大;一个整形4个字节32位,可以表示32个不同的留存,整形不够也可以用长整型8个字节的。

80110

WanShare‘天天分红’计划喊你来躺赚

wanshare平台官网或者关注官方微信:wanshare88查看) 喊你来躺赚 WanShare平台将于6月15日正式上线“天天分红”计划 天天分红计划上线后 将会把平台每日手续费收入的百分之五十做为分红基金 次日按占比奖励给在交易平台上持有...CCEC的用户 也就是说 您持有的CCEC越多 奖励越多 详细规则: 1、参与WanShare“天天分红”活动的用户CCEC持有量需≥100; 2、WanShare将每日交易手续费的50%利润,分配给上述...CCEC持有者; 3、收入分配以日为一个分配周期,2018年7月15日零点开始计算,2018年7月16日为首个分配日,我们将于当天一次性分配7月15日累积的待分配收入。...之后的每一天,会将前一天累积的所有待分配收入,一次性按比例分给CCEC持有者; 4、 个人当日分红量=个人持有CCEC数量/CCEC流通总量(1360万)*平台当日交易手续费*50%; 5、分红发放时间...:每日凌晨2:00-4:00; 6、分红统一以CCEC发放; 7、WanShare平台对此活动保留最终解释权。

28000
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面试题107:如果需要分库分表,数据是如何做迁移的?

    停机停服数据迁移 比如我们已经准备好某一天要进行数据迁移了,那么我会们在当天发布公告,比如通告一下用户,凌晨12点到早上6点系统升级,服务暂不可用。...当然,这种方案很简单,对于一般系统来说,都是可以接收的,毕竟凌晨12点到6点这段时间,用户使用场景很低。但是,依然无法避免的就是,对用户的感受是不好的,毕竟系统无法使用了。...双写数据迁移 针对于停机停服数据迁移的劣势,我们可以在持久层做请求拦截,将写入、修改、删除操作修改为双写,即:对旧库和新库都要做CUD操作。那么,新的数据也就会在新库中存在一份。...此时,开启数据迁移工具,将数据新增到新库中。当然,这种迁移不是没有约束的,我们会根据业务表中的modify_time字段进行约束,即:只有小于某个modify_time的数据才可以进行迁移。...针对于这种情况,我们会开启第二遍的check操作,将第一遍数据迁移后的新旧库中数据再进行校验和补充修复。最终达到一致性。

    49540

    Linux 系统 CPU 100% 异常排查实践与总结

    // 找到相关负载 线程PID 3、printf “0x%x ”线程PID: 0x431 // 将线程PID转换为 16进制,为后面查找 jstack 日志做准备 4、jstack 进程PID...异常方法逻辑:是把时间戳转成对应的具体的日期时间格式; 上层调用:计算当天凌晨至当前时间所有秒数,转化成对应的格式放入到set中返回结果; 逻辑层:对应的是数据平台实时报表的查询逻辑,实时报表会按照固定的时间间隔来...确认逻辑后,通过新方法简化计算(当前秒数-当天凌晨的秒数),替换调用的方法,解决计算过多的问题。上线后观察服务器负载和cpu使用率,对比异常时间段下降了30倍,恢复至正常状态,至此该问题得已解决。...https://my.oschina.net/leejun2005/blog/1524687 [2] linux 系统监控、诊断工具之 top 详解 https://my.oschina.net/leejun2005.../blog/157910 来自:leejun2005 链接:https://my.oschina.net/leejun2005/blog/1602482

    3.5K20

    Linux 系统 CPU 100% 异常排查实践与总结

    // 找到相关负载 线程PID 3、printf “0x%x ”线程PID: 0x431 // 将线程PID转换为 16进制,为后面查找 jstack 日志做准备 4、jstack 进程PID | vim...异常方法逻辑:是把时间戳转成对应的具体的日期时间格式; 上层调用:计算当天凌晨至当前时间所有秒数,转化成对应的格式放入到set中返回结果; 逻辑层:对应的是数据平台实时报表的查询逻辑,实时报表会按照固定的时间间隔来...确认逻辑后,通过新方法简化计算(当前秒数-当天凌晨的秒数),替换调用的方法,解决计算过多的问题。...https://my.oschina.net/leejun2005/blog/1524687 [2] linux 系统监控、诊断工具之 top 详解 https://my.oschina.net/leejun2005.../blog/157910 来自:leejun2005 链接:https://my.oschina.net/leejun2005/blog/1602482

    1.6K00

    系统监控、诊断工具:线上 CPU 问题不放过任何一个小细节!

    // 找到相关负载 线程PID 3、printf “0x%x\n”线程PID: 0x431 // 将线程PID转换为 16进制,为后面查找 jstack 日志做准备 4、jstack 进程PID...异常方法逻辑:是把时间戳转成对应的具体的日期时间格式; 上层调用:计算当天凌晨至当前时间所有秒数,转化成对应的格式放入到set中返回结果; 逻辑层:对应的是数据平台实时报表的查询逻辑,实时报表会按照固定的时间间隔来...那么可以得到结论,如果现在时间是当天上午10点,一次查询的计算次数就是 10*60*60*n次=36,000*n次计算,而且随着时间增长,越接近午夜单次查询次数会线性增加。...确认逻辑后,通过新方法简化计算(当前秒数-当天凌晨的秒数),替换调用的方法,解决计算过多的问题。上线后观察服务器负载和cpu使用率,对比异常时间段下降了30倍,恢复至正常状态,至此该问题得已解决。...https://my.oschina.net/leejun2005/blog/1524687 [2] linux 系统监控、诊断工具之 top 详解 https://my.oschina.net/leejun2005

    45910

    CPU 100% 异常排查实践与总结

    // 找到相关负载 线程PID printf “0x%x\n”线程PID: 0x431  // 将线程PID转换为 16进制,为后面查找 jstack 日志做准备 jstack  进程PID | vim...异常方法逻辑:是把时间戳转成对应的具体的日期时间格式; 上层调用:计算当天凌晨至当前时间所有秒数,转化成对应的格式放入到set中返回结果; 逻辑层:对应的是数据平台实时报表的查询逻辑,实时报表会按照固定的时间间隔来...那么可以得到结论,如果现在时间是当天上午10点,一次查询的计算次数就是 10*60*60*n次=36,000*n次计算,而且随着时间增长,越接近午夜单次查询次数会线性增加。...确认逻辑后,通过新方法简化计算(当前秒数-当天凌晨的秒数),替换调用的方法,解决计算过多的问题。上线后观察服务器负载和cpu使用率,对比异常时间段下降了30倍,恢复至正常状态,至此该问题得已解决。...https://my.oschina.net/leejun2005/blog/1524687 [2] linux 系统监控、诊断工具之 top 详解 https://my.oschina.net/leejun2005

    1.4K80

    五月数据库技术通讯丨Oracle 12c因新特性引发异常Library Cache Lock等待

    查看该SQL文本为: insert into xxx.xx_LOG_INFO(xxx_ID,·······) values(:1 , :2 , :3 , :4 , :5 , :6 ) ; 而该SQL...而这个进程发现是系统的一个job,在当天的凌晨2点触发执行: ?...一般情况下,如果增加的新分区内不包含表内现有数据,是不会导致全局分区索引失效,但在当天凌晨1点,系统自动增加一个分区(split),新分区已经包括旧分区的部分数据,导致全局分区索引失效,从而触发了系统对全局索引的自动维护...而这两张表是同时进行写入,故通过查询SQL时出现的是另一张表,通过object_id查询时才发现问题所在。 · 问题解决 临时处理:经业务核实后将insert会话kill后,故障解决。...将insert业务错峰运行,避免再次出现类似情况。 2. 批量增加分区表的分区,避免触发系统维护索引job运行。 3. 可能的话,避免使用全局分区索引

    72020

    腾讯课堂发布11.11全民学习数据:260万人同时涌入选课,是疫情前的2.87倍

    数据显示,11日当天Top10 GMV课程中,80%都是职业技能类课程,其中IT互联网技能和设计创作课程各占30%。...IT互联网类目下的JAVA开发人气最高,从北上广深青年到小镇青年,JAVA开发都是当地11.11当天订单数最多的课程。...值得注意的是,相比疫情前,工业产品设计课程也挤进了11日当天订单数Top10课程。伴随着产业互联网发展,制造业迈向智能制造时代,制造业工人学习数字制造技能的热度高涨。...在传统的11.11消费品购买高潮时段——10日晚10点到11日凌晨2点,北京青年在腾讯课堂平台狂扫1000门课,平均每一分钟就有4门课程被北京青年买走;深圳青年也仅比北京少9单,比上海与武汉总和还多。...腾讯课堂数据显示,11日当天,客单价最高的城市Top3分别为四川达州、吉林辽源和江西宜春。

    7.3K30

    Linux 定时任务调度

    5点0分执行命令 40 4 * * 1-5 命令 每周一到周五的凌晨4点40分执行命令 */10 4 * * * 命令 每天的凌晨4点,每隔10分钟执行以此命令 0 0 1,15 * 1 命令 每月1.../home/mycal文件中 步骤: (1 ) vim /home/my.sh写入内容 date >> /home/mycal和cal >>/home/mycal (2)给my.sh增加执行权限,chmod...u+x /home/my.sh (3) crontab -e增加 /1 * * * * /home/my.sh 案例3:每天凌晨2:00将mysql数据库testdb ,备份到文件中。...显示版本信息 -q 使用指定的队列 -f 从指定文件读入任务而不是从标准输入的读入 -t 以时间参数的形式提交要运行的任务 # at 时间定义 at指定时间的方法: 接受在当天的...2分钟后,输出时间到指定文件内比如 /root/date200.log 案例5:删除已经配置的任务,atm编号 atrm 4 //表示将job队列,编号为4的job删除

    7.2K30

    数据分析告诉你为什么Apple Watch会大卖?

    眼下它上市在即,将率先登陆9个国家或地区——包括中国。...Apple Watch将于4月10日接受预购,4月24日正式发售。 “前辈”们的经验:Apple Watch即将热卖 按照苹果产品过去的一贯表现,Apple Watch上市后也将迎来大卖。...维基百科的访问数据显示,去年9月苹果发布会召开当天和次日,苹果推出的3款硬件新品(2款规格不同的iPhone 6以及1款Apple Watch)的页面访问量都发生了显著变化。...300-399美元的智能手表的用户购买比例仅为4%,400美元以上的智能手表几乎无人问津。 Apple Watch的价格“不幸”地落在4%以及更“凄惨”的“无人问津”的范围内。...凌晨的发布会结束后,苹果股价同样出现了增长,盘中最高增幅2.3%,最终报收于127.08美元每股。对Apple Watch来说,这是一个不错的开始。

    92270

    技术分享 | 两个单机 MySQL 该如何校验数据一致性

    指定了时间段执行校验任务,如果当天没校验完成,等到次日会继续校验。 6、支持任意两个节点的校验 不仅限于主从节点的校验,只要目标对象支持 MySQL 的标准 SQL 语法就能做数据校验。...不一致 : 重复(2)的操作,至多连续 20 次,还不一致会将该 SQL 记录到 table 目录 一致 : 跳到(4) file1 为空 : 表示该表遍历完成,直接跳到(5) (4)获取该表的下一个数据块的查询...(6)读取 table 目录校验不通过的 SQL 进行再次校验。 本次校验通过也视为数据一致 如果校验不通过,会将不一致的部分记录到diff目录 (7)该表校验任务结束。...1点到5点执行校验任务,如果当天六点前没校验完成,会等到次日凌晨1点继续校验 任务管理脚本 moshan /data/git/check_data_for_mysql > bash manager.sh...这个目录会按db创建目录,将记录校验不通过的数据块的SQL语句格式如下:"table/db/table.log" row : f_check_diff_for_row.sh 脚本会读取table目录的SQL

    1.9K30

    干货 | 如何用SQL做留存率分析

    也有助于运营及时进程运营策略的调整,比如:当新用户留存率低的时候,是不是需要调整新用户的活动策略,或者当老用户留存率低的时候,是不是某个产品功能的问题,或者活动对老用户不友好而导致流失等等…… 今天,就给大家分享下如何用SQL...次日新客留存率(第1日新客留存率):指注册APP后的第二天有访问APP的行为的留存用户/注册APP当天的新客总数。...第3日新客留存率:指注册APP后第3天内内访问过APP的留存用户/注册APP当天的新客户总数。 第7日新客留存率:指注册APP后第7天内访问过APP的留存用户/注册APP当天的新客户总数。...第30日新客留存率:指注册APP后第30内访问过APP的留存用户/注册APP当天的新客户总数。 02 如何用SQL实现留存率计算 1....KEY (`id`) USING BTREE ) COMMENT '用户登录表' 2.计算过程: 为便于理解,下面的步骤分为两步讲解:留存时间的计算,留存用户的计算,日常时间中如果觉得两个步骤麻烦可以将两个代码进行合并

    4.9K50

    淘宝APP用户行为分析

    淘宝APP的功能日益复杂,但都离不开最基本的收藏、购物车和购买功能,本文利用sql对淘宝用户行为数据进行分析,通过用户行为分析业务问题。 一....而双十二当天为周五,促销结束后周末的用户活跃度最低,因此平日运营可以将活动集中在周末进行,而双十二期间集中精力做好促销让用户购买冲动充分释放,结束后可以暂缓一段时间。...而0点之后购买数达到第一个高峰,双十二当天早上八点到10点之间迎来了第二个高峰,此时部分用户早起购买大量商品,而晚上八点到十点经历了第三个高峰,促销活动可以针对这几个高峰期进行重点投放。...1.通过AARRR模型分析用户使用的各个环节 1)获取用户 由于数据中没有给出每个用户第一次的登陆的时间,我们暂且把浏览行为视为用户的获取。 2)激活用户 用户行为包括点击、放进购物车、收藏以及购买。...而平时一天中有两个高峰期,中午12点左右和晚十点左右,双十二期间由于活动时间的关系凌晨的销量最高。

    9.5K20

    疑案重审,真相大白:_optim_peek_user_binds是惯犯

    因为AWR在当前系统只保留一周,4月1日案情重审时已经找不到19日和20日的执行计划,只有一些当时分析问题时收集的SQL执行效率的数据,红框内20日的SQL执行效率高前后两天19日和21日好多2倍:...SQL执行计划为什么会在20日凌晨自动变好,21日凌晨又自动变差呢?...后来我们也找到了该系统备份的历史AWR数据,找到了20日当天的实际执行计划,确实是发生了改变,由性能差的全表扫描,变成了性能好的索引扫描。为上述推断提供了铁证。...这种情况下,如果是上面的SQL,生成的执行计划将一直是全表扫描,因为不能窥视到具体的变量值,只能按照字段的数据是均匀分布来计算(即使存在直方图信息),在字段唯一值少的情况下,是不会使用索引的。...SQL的问题是: 使用的绑定变量:3和:4,not like 后面的字符串没有加%,是没有意义的,有可能是研发人员的笔误。

    1.8K30

    MySQL 数据恢复

    当晚回来闭关研究, 终于在凌晨1点多整出来了, 特此记录, 以备不时之需. 对于 MySQL 数据的备份, 主要有两种: 全量备份和增量备份. 全量备份: 将数据库中的所有数据全部进行备份....通过全量和增量的备份文件来面对下一次事故的发生(当然, 我是肯定不会再出现了, 防止之后其他人误操作吧) 数据的备份操作基本如下: 每天对数据库进行全量备份 保持 binlog 的增量备份 当需要恢复时, 找到当天的全量备份数据恢复...打个比方, 当前时间是: 2020-9-4 23:00:00. 此时, 我做了清表的疯狂操作. 如何恢复数据? 1....通过全量备份, 将数据恢复到今天凌晨的时刻 进入 MySQL命令行, 执行数据恢复文件: source /Users/hujing/dir/tmp/mysqldump_log/2020-09-04.sql...此时, 数据库已经恢复到本日凌晨的时刻.

    4.6K50

    淘宝APP用户行为分析

    淘宝APP的功能日益复杂,但都离不开最基本的收藏、购物车和购买功能,本文利用sql对淘宝用户行为数据进行分析,通过用户行为分析业务问题。 一....而双十二当天为周五,促销结束后周末的用户活跃度最低,因此平日运营可以将活动集中在周末进行,而双十二期间集中精力做好促销让用户购买冲动充分释放,结束后可以暂缓一段时间。...而0点之后购买数达到第一个高峰,双十二当天早上八点到10点之间迎来了第二个高峰,此时部分用户早起购买大量商品,而晚上八点到十点经历了第三个高峰,促销活动可以针对这几个高峰期进行重点投放。...1.通过AARRR模型分析用户使用的各个环节 1)获取用户 由于数据中没有给出每个用户第一次的登陆的时间,我们暂且把浏览行为视为用户的获取。 2)激活用户 用户行为包括点击、放进购物车、收藏以及购买。...而平时一天中有两个高峰期,中午12点左右和晚十点左右,双十二期间由于活动时间的关系凌晨的销量最高。

    10.4K40

    淘宝APP用户行为分析

    淘宝APP的功能日益复杂,但都离不开最基本的收藏、购物车和购买功能,本文利用sql对淘宝用户行为数据进行分析,通过用户行为分析业务问题。 一....而双十二当天为周五,促销结束后周末的用户活跃度最低,因此平日运营可以将活动集中在周末进行,而双十二期间集中精力做好促销让用户购买冲动充分释放,结束后可以暂缓一段时间。...而0点之后购买数达到第一个高峰,双十二当天早上八点到10点之间迎来了第二个高峰,此时部分用户早起购买大量商品,而晚上八点到十点经历了第三个高峰,促销活动可以针对这几个高峰期进行重点投放。...1.通过AARRR模型分析用户使用的各个环节 1)获取用户 由于数据中没有给出每个用户第一次的登陆的时间,我们暂且把浏览行为视为用户的获取。 2)激活用户 用户行为包括点击、放进购物车、收藏以及购买。...而平时一天中有两个高峰期,中午12点左右和晚十点左右,双十二期间由于活动时间的关系凌晨的销量最高。

    8.7K20

    laravel中DB_TIIMEZONE中的坑

    当时我们处理这个问题是凌晨1点,并且是在家里。考虑可能是时区问题,但是因为太晚了,所以我们使用了另外一种方式去避免这个问题。并没有追查这个事情的具体原因。...', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => env('DB_CHARSET', 'utf8mb4'...), 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), 'prefix' => env('DB_PREFIX',...env('DB_TIMEZONE', '+00:00'), // 注意看这里 'strict' => env('DB_STRICT_MODE', false), ], 然后再次修改自己的SQL...我们上班的时间是白天十点以后,这样当天的时间减去八个小时候再去计算,最上面写的SQL中的where条件还是成立的,但是凌晨一点去计算的时候,却是查询的昨天的数据,所以where条件就不查询不到正确的数据了

    1.1K10

    论配置化系统的配置

    举个之前文章提到的例子: “用户每次下单后统计其当天完单量,并发给下游营销系统其总完单量信息。下游营销系统会根据用户的完单量推送优惠策略。...举个例子,现在是3月20号凌晨1点整,此时19号的离线任务没有跑完,此时单量计算规则为: “用户总完单量 = 18号总单量(离线)+19号当天单量(在线) + 20号当天单量(在线)。...若现在8点钟,离线任务跑完了,此时单量计算规则为: “用户总完单量 = 19号总单量(离线) + 20号当天单量(在线)。...这其实有很大风险的:如果你SQL写错了,在线下没复现出来,业务比较着急,上线时候没灰度就上全量集群了,系统就崩了~此时你慌得一批,赶紧写了个delete的SQL去删除那行配置,如果这个delete恰好没加条件...这玩意可以视为一个支持SQL协议和Git协议的数据库,支持git就有趣多了,我们所有关于配置的更改记录都有版本信息,基于这个库封装出API并集成在管理平台中,前端渲染一个酷炫版本信息页面。

    41410
    领券