SQL查询:提取特定时间段内人员信息的优化与注意事项
看来你在处理一个SQL查询问题,涉及到从多个表中提取特定时间段内的人员信息。这里是一个优化过的版本: ```sql SELECT DISTINCT t.id_card, t.start, t.end FROM ( SELECT DISTINCT(person_name), id_card, DATE_FORMAT(CURDATE(), '%Y-%m-%d 00:00:00') AS start, DATE_FORMAT(CURDATE(), '%Y-%m-%d 23:59:59') AS end, '1' AS ordertype, '-1' AS pass FROM t_contractor_people WHERE person_name IN ( SELECT DISTINCT b.executor FROM t_task_work_order a LEFT JOIN t_task_work_person b ON a.sheet_id = b.hot_work_id WHERE a.valid = '1' AND a.work_start_time > DATE_FORMAT(CURDATE(), '%Y-%m-%d 00:00:00') ) ) t; ``` 需要注意的逻辑点: 1. 日期格式:确保 `CURDATE()` 返回的日期格式与表中的日期格式一致,避免因格式不匹配导致查询失败。 2. 性能优化:如果 `t_task_work_order` 和 `t_task_work_person` 表的数据量较大,可以考虑在 `a.valid` 和 `a.work_start_time` 上创建索引,以提高查询性能。 3. 子查询优化:如果子查询返回的结果集较大,可以尝试将子查询结果缓存到临时表中,再进行主查询,以减少重复计算。 ######[AI写代码神器 | 342点数解答 | 2024-12-05 12:31:57]
- Java SQL语法错误:“select count(*)”语句出错,教你排查MariaDB SQL语法问题!( | 350点数解答 | 2024-04-25 08:26:19)383
- Java:抽象类 Vehicle 及子类 Car、MotorBike 实战演示(讯飞星火 | 440点数解答 | 2024-06-06 23:18:54)311
- 用 Pandas 深度剖析数据:从读取到统计分析全流程实战(GPT | 642点数解答 | 2024-06-30 15:39:49)356
- 用 Pandas 深入分析招聘数据:从数据读取到可视化全流程解析(GPT | 1539点数解答 | 2024-06-30 15:56:50)370
- “wsm.count”函数不存在报错:SQL 执行遇阻,多维度排查解难题 ( | 672点数解答 | 2024-04-25 08:58:21)389
- 补全含错误代码:Vue结合Element UI组件实现查询、新增及表格展示功能 ( | 400点数解答 | 2023-12-19 15:20:50)432
- 单线程频繁查ClickHouse致CPU飙升?这些优化方案速看!(DeepSeek | 491点数解答 | 2025-02-13 17:49:54)228
- MySQL:巧用 NOT LIKE 查询字段不包含特定字符串及注意要点 (DeepSeek | 264点数解答 | 2025-02-13 18:25:01)179
- 解析React 15与Vue 2:从O(n^3)到O(n),Diff算法时间复杂度计算及性能对比 (阿里通义 | 379点数解答 | 2023-11-09 01:49:19)334
- Java:设计圆类与圆柱体类并计算属性及体积表面积(字节豆包 | 470点数解答 | 2024-10-20 10:03:11)182
- Java 实现矩形与长方体类,精准计算底面积与体积(字节豆包 | 319点数解答 | 2024-10-20 10:25:46)286
- Java 实现矩形与长方体类,轻松计算底面积和体积(字节豆包 | 308点数解答 | 2024-10-20 10:34:27)272