diff --git a/backend-node/src/services/tableManagementService.ts b/backend-node/src/services/tableManagementService.ts index 5fb06ba7..294cfa40 100644 --- a/backend-node/src/services/tableManagementService.ts +++ b/backend-node/src/services/tableManagementService.ts @@ -899,6 +899,18 @@ export class TableManagementService { if (search && Object.keys(search).length > 0) { for (const [column, value] of Object.entries(search)) { if (value !== null && value !== undefined && value !== "") { + // ๐ŸŽฏ ์ถ”๊ฐ€ ์กฐ์ธ ์ปฌ๋Ÿผ๋“ค์€ ์‹ค์ œ ํ…Œ์ด๋ธ” ์ปฌ๋Ÿผ์ด ์•„๋‹ˆ๋ฏ€๋กœ ์ œ์™ธ + const additionalJoinColumns = [ + "company_code_status", + "writer_dept_code", + ]; + if (additionalJoinColumns.includes(column)) { + logger.info( + `๐Ÿ” ์ถ”๊ฐ€ ์กฐ์ธ ์ปฌ๋Ÿผ ${column} ๊ฒ€์ƒ‰ ์กฐ๊ฑด์—์„œ ์ œ์™ธ (์‹ค์ œ ํ…Œ์ด๋ธ” ์ปฌ๋Ÿผ ์•„๋‹˜)` + ); + continue; + } + // ์•ˆ์ „ํ•œ ์ปฌ๋Ÿผ๋ช… ๊ฒ€์ฆ (SQL ์ธ์ ์…˜ ๋ฐฉ์ง€) const safeColumn = column.replace(/[^a-zA-Z0-9_]/g, ""); diff --git a/frontend/lib/registry/components/table-list/TableListComponent.tsx b/frontend/lib/registry/components/table-list/TableListComponent.tsx index 6db26ad2..0d834bef 100644 --- a/frontend/lib/registry/components/table-list/TableListComponent.tsx +++ b/frontend/lib/registry/components/table-list/TableListComponent.tsx @@ -102,7 +102,7 @@ export const TableListComponent: React.FC = ({ const [displayColumns, setDisplayColumns] = useState([]); // ๐ŸŽฏ ํ‘œ์‹œํ•  ์ปฌ๋Ÿผ (Entity ์กฐ์ธ ์ ์šฉ๋จ) const [columnMeta, setColumnMeta] = useState>({}); // ๐ŸŽฏ ์ปฌ๋Ÿผ ๋ฉ”ํƒ€์ •๋ณด (์›นํƒ€์ž…, ์ฝ”๋“œ์นดํ…Œ๊ณ ๋ฆฌ) // ๐ŸŽฏ Entity ์กฐ์ธ ์ตœ์ ํ™” ํ›… ์‚ฌ์šฉ - const { isOptimizing, metrics, optimizedConvertCode, getCacheStatus } = useEntityJoinOptimization(columnMeta, { + const { optimizedConvertCode } = useEntityJoinOptimization(columnMeta, { enableBatchLoading: true, preloadCommonCodes: true, maxBatchSize: 5, @@ -572,39 +572,6 @@ export const TableListComponent: React.FC = ({ )} - {/* ์„ฑ๋Šฅ ์ƒํƒœ ํ‘œ์‹œ (๊ฐœ๋ฐœ ๋ชจ๋“œ์—์„œ๋งŒ) */} - {process.env.NODE_ENV === "development" && ( -
- {isOptimizing && ( -
- - ์ตœ์ ํ™” ์ค‘ -
- )} -
- ์บ์‹œ: - 0.8 - ? "bg-green-100 text-green-700" - : metrics.cacheHitRate > 0.5 - ? "bg-yellow-100 text-yellow-700" - : "bg-red-100 text-red-700", - )} - > - {(metrics.cacheHitRate * 100).toFixed(1)}% - -
- {metrics.averageResponseTime > 0 && ( -
- ์‘๋‹ต: - {metrics.averageResponseTime}ms -
- )} -
- )} - {/* ์ƒˆ๋กœ๊ณ ์นจ */}