1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zyx0814-dzzoffice

 / Детали:

[Проблема с производительностью] Отслеживание файлового каталога группы происходит с заметной...

Предстоит сделать
Владелец
Создано  
10.03.2025

задержкой.

Как показано на рисунке ниже, при нажатии в этом месте возникают серьезные проблемы с производительностью.

Проблемный участок:
(1) После проверки кода было установлено, что здесь используется регулярное выражение (regexp) для поиска данных, что приводит к замедлению на 4 секунды при работе с 400 000 записями.
(2) В последней версии открытого исходного кода проблема остаётся без изменений.
Файл с проблемой: /core/class/table/table_resources_path.php

Временное решение:
Замена SQL: select p.fid from %t p left join %t f on p.fid = f.fid where p.path LIKE %s and f.deldateline < 1

На данный момент временно прекращено использование оператора LIKE для оптимизации запроса, что позволяет работать со 100 000 записями за 0,8 секунды, однако при увеличении объёма данных производительность снова начинает снижаться.

Рекомендованная стратегия:
(1) Общее улучшение логики и структуры данных, включая добавление первичного ключа для таблицы с данными каталога, чтобы избежать полнотекстового поиска.
(2) Использование кэширования для ускорения поиска данных.

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/zyx0814-dzzoffice.git
git@api.gitlife.ru:oschina-mirror/zyx0814-dzzoffice.git
oschina-mirror
zyx0814-dzzoffice
zyx0814-dzzoffice