如何优化会员到期日期查询以提高效率?-灵析社区

邦纳娜娜

用户充值会员 充值成功了就记录用户的会员结束日期。任务每天轮训是否到期了,但是我希望是比如2024-4-12月到期的 我提前一天扣就是2024-4-11 扣钱 现在的问题是我设计数据表查询的时候如何比较快,后面用户量太多了 CREATE TABLE `u` ( `id` int(11) NOT NULL AUTO_INCREMENT, `expire_time` timestamp NULL DEFAULT NULL COMMENT '有效期 有效期', `status` int(11) NOT NULL DEFAULT '0' COMMENT '是否订阅 0否 1是', PRIMARY KEY (`id`), ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4; 我查询是status=1并且expire_time<当天时间-1 时间加索引

阅读量:157

点赞量:0

问AI
增加12张检查表,分别记录1~12月到期会员信息,每天检查时进需要遍历筛选总量为当月的数据,续费就剔除这个数据并挪到下一个月表,如果自动续费是一年,就单纯更新时间为一年。 当然,以上方案你可以根据实际的业务情况缩容,比如以季度、半年或者奇偶月份来划分也可以,这么做可以使得你每次检查筛选的数据量相比于全量用户要少