·
编程学习 ·
79265
变量以及函数说明:
add_time为插入的时间
to_days是sql函数,返回的是个天数
data_sub(date,INTERVAL expr type)给指定的日期减去多少天
data()函数返回日期或日期/时间表达式的日期部分。
curdate()函数返回当前的日期 y-m-d
data_format 用于以不同的格式显示日期/时间数据
period_diff(p1,p2)返回周期P1和P2之间的月数。 P1和P2格式为YYMM或YYYYMM。注意周期参数 P1 和 P2 都不是日期值
1、查询今天的所有记录:
(1)add_time字段,该字段为int(5)类型的
select * from `article` where to_days(date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d')) = to_days(now());
(2)add_time字段是DATETIME类型或者TIMESTAMP类型的
select * from `article` where to_days(`add_time`) = to_days(now());
2、查询昨天的所有记录
select * from `article` where to_days(now()) = 1 + to_days(`add_time`);
3、近7天的信息记录:
select * from `article` where date_sub(curdate(), INTERVAL 7 DAY) <= date(`add_time`);
4、近30天的信息记录:
select * from `article` where date_sub(curdate(), INTERVAL 30 DAY) <= date(`add_time`);
5、查询本月的记录
select * from `article` where date_format(`add_time`, ‘%Y%m') = date_format(curdate() , ‘%Y%m');
6、上一个月的记录
select * from `article` where period_diff(date_format(now() , ‘%Y%m') , date_format(`add_time`, ‘%Y%m')) =1;
Python标准logging模块无内置异步Handler,必须用QueueHandler+后台线程模拟异步日志;因FileHandler.emit()等均为同步阻塞I/O,无法await,强行协程包装无效。 直接上结论:Python标准logging模块本身**没有内置的异步Handler**,所...
logging比print更专业,因其实现了Logger、Handler、Formatter三层解耦,支持多级过滤与滚动写入;basicConfig仅在root未配置时生效,模块化项目应显式创建logger及handler;RotatingFileHandler可实现按大小轮转,需设置maxByte...
SQLAlchemy中N+1查询源于relationship默认lazy='select',实操应优先用joinedload或selectinload优化,并通过SQL日志、EXPLAIN分析、索引检查及合理session管理来根治。 SQLAlchemy里relationship默认懒加载,一查列...
select_related用于解决N+1查询问题,仅适用于ForeignKey和OneToOneField关系,通过JOIN一次性加载关联数据;不支持多对多、反向关系及嵌套过深场景,否则易导致性能下降。 select_related能把N+1查询压成1次,但只对ForeignKey和OneToOn...
Flask默认不记录日志到文件,需手动配置logging:添加FileHandler(推荐RotatingFileHandler)和StreamHandler,统一设level为INFO,并禁用gunicorn冲突输出;模块日志应按功能命名如'app.models'以精准定位。 Flask默认不记录...
Flask-SQLAlchemy的paginate方法在大数据量下性能极差,因其底层使用OFFSET-LIMIT导致全表扫描;应改用游标分页,依赖排序字段值而非页码,并禁用total计算、限制page上限。 Flask-SQLAlchemy的paginate方法默认不支持大数据偏移分页 直接调用qu...
django-simple-history配置生效需三步:INSTALLED_APPS注册、模型继承HistoricalRecords并声明historical_records=HistoricalRecords()、执行migrate;排除字段用excluded_fields参数;get_hist...
TensorBoard日志未生成的主因是路径错误、写入时机不当或未绑定FileWriter;需用绝对路径初始化writer,确保在withwriter.as_default()内调用tf.summary.*并传入step参数。 TensorBoard日志目录没生成?检查tf.summary.crea...