0 / 0 / 2
Регистрация: 21.02.2013
Сообщений: 118
1

Оптимизация работы с БД, сильно грузит процессор

21.03.2019, 06:59. Показов 1925. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня. У меня такая задача: необходимо почистить от мусорных файлов сервер на хостинге. Имеются 256 каталогов, в каждом порядка 6 тысяч файлов картинок. Мне надо удалить картинки отсутствующие в БД.

Я создал таблицу 2 столбца, в которую из базы данных выбрал все названия файлов которые надо оставить (столбец `photo`).

Вот как работает мой php скрипт. Открывает первую папку `00`, берет первый файл, читает название, сверяет есть ли упоминание о нем в данной таблице (LIKE). Если упоминания нет- то удаляет его.

НО!! Видимо запрос поиска LIKE сильно грузит сервак mysql, техподдержка хостинга ворчит. Я итак запускаю кроном , поставил обработку чтобы за раз проверялось по 30 файлов. Но даже такая малая часть грузит процессор mysql.
30 файлов обрабатывает 35 секунд

такими темпами мне надо будет пару месяцев

вот такой у меня запрос видимо самый ресурсоемкий:
PHP
1
2
3
4
5
6
           $sql= 'SELECT `photo` 
                    FROM `sp_photo_temp` 
                    WHERE `obrabotano`=0
                    AND `photo`LIKE "'.$file[$i].'"
                    ORDER BY `photo` ASC ';
           $res=$db->sql_query($sql);
Может как-то оптимизировать, проиндексировать таблицу в названиями файлов?
Миниатюры
Оптимизация работы с БД, сильно грузит процессор  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2019, 06:59
Ответы с готовыми решениями:

Сильно грузит процессор
Здравствуйте,помогите разобраться-сильногузится и зависает комп при работе на видеокарте GTX 750...

GLScene грузит процессор сильно
Вращающийся куб в GLScene грузит процессор до 40 процентов. Страшно представить что будет, если...

Проводник сильно грузит процессор
Здравствуйте. Проводник грузит систему, после чего это стало происходит, к сожалению не заметил,...

Скрипт сильно грузит процессор
Проблема такова - в пятницу в определенное время надо запускать программу. Решил сделать это с...

2
Zero day
267 / 231 / 78
Регистрация: 16.12.2015
Сообщений: 943
Записей в блоге: 4
21.03.2019, 11:20 2
kupidon, like по текстовому полю и order - довольно прожорливые операции.
Можно как-нибудь отойти от имен картинок в сторону полей с числовыми типами? Может есть какой-то идентификатор у файлов, чтобы можно было отобрать нужные, а остальные дропнуть чем-то типа:
delete from
where <идентификатор> not in (<список идентификаторов, которые надо оставить>)...
0
0 / 0 / 2
Регистрация: 21.02.2013
Сообщений: 118
21.03.2019, 14:33  [ТС] 3
Вообще никак((. Файлы лежат по папкам, тут возможен только их перебор и сравнение с БД.

Пробовал выбрать из БД нужные названия файлов и переносить их в другие папки, но это опять же чертовски грузит процессор на хостинге. то есть беру название файла из БД, переношу его в другую папку...тем самым оставляя в старой папке только ненужное. Но и тут почему то БД грузит сильнее чем сами переносы((
не знаю как быть
0
21.03.2019, 14:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2019, 14:33
Помогаю со студенческими работами здесь

Services.exe сильно грузит процессор
Добрый день, services.exe сильно грузит процессор, не знаю что делать. Удалил большинство...

Процесс steam сильно грузит процессор
Здравствуйте. Такая проблема: периодически включается процесс steam и компьютер начинает сильно...

Svchost.exe сильно грузит процессор
установлена Win 7, проблема как и у многих - сильная загрузка ЦП и ОЗУ из-за svchost.exe. Сделал...

svchost.exe очень сильно грузит процессор
Здравствуйте у меня проблема. svchost.exe периодически загружает процессор до 100%, windows 7, авто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru