ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## **订单类查询语句 要加上固定的时间条件** 不管有没有时间参数传入,在查询条件中必须加入固定的时间条件,比如3个月 或者半年 这样不管以后数据量变得有多大,都能限定在固定范围内 形如 ``` select * from table where time>'2020-10-10' ``` ## **当用订单号等精确查询时,排除时间等范围条件** 这个规范是从用户体验的角度出发的,当用户输入一个明确的订单号或编码时, 意图是明确要找到某一个标签,这个时候可以屏蔽掉其他查询条件,特别是时间的查询条件,这个原则是可以不循序上面那个规则 形如 ``` string sql = select * from table where time>'2020-10-10' if(!code1.IsNullOrEmpty()){ string sql = select * from table where code = code1 } ``` ## **有子语句查询时,要在里面的子语句中写有效的条件限制** 最好是时间,时间条件能限制在有效的数量内 形如 ``` select * from ( select * from table where time>'2020-10-10' ) ``` ## **分组查询的时候,分组条件查询出来的结果不能和没分组一样** 针对两种情况来说 1、对id 、精确到毫秒的时间、没有分组的必要 2、多个分组条件交叉的结果,是很精细的,变成和1的情况一样,这个时候就要选择合适的分组条件