pg分表分区后,分表查询主表和分区表都带上了 返回
sqlsugar使用版本:5.1.4.211
PG数据库按月分表(sqlsugar)自带的,按天分区(pg数据库)

执行查询
var query = _db.Queryable<AttendanceRecord>()
.SplitTable(startTime.Value, endTime.Value);
查询时间条件2026-01-01 00:00:00 2026-01-03 23:59:59
打印的sql
SELECT * FROM ( ( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260131" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260130" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260129" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260128" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260127" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260126" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260125" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260124" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260123" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260122" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260121" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260120" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260119" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260118" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260117" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260116" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260115" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260114" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260113" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260112" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260111" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260110" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260109" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260108" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260107" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260106" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260105" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260104" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260103" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260102" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101_p20260101" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) UNION ALL
( SELECT "id","person_id","person_name","recognition_status","recognition_time","created_at" FROM "attendance_record_20260101" WHERE "recognition_time">='01/01/2026 00:00:00' AND "recognition_time"<= '01/03/2026 23:59:59' ) ) unionTable ORDER BY "recognition_time" DESC LIMIT 10 offset 0
1,我理想的是分区使用的只查对应的表attendance_record_20260101,多个分表多个主表union all,他这个把分区表也带上?
2,这种查询主表attendance_record_20260101和所有分区例如attendance_record_20260101_p20260101、attendance_record_20260101_p20260102都带上了,导致数据亮查询增加了一倍,导致分表查询的业务没办法用?
这个是我使用的问题,还是最新版本sqlsugar的bug
热忱回答(1)
-
fate sta VIP0
2026/1/23分表和分区不是一个东西。你用分区那就不用ORM分表。
0 回复