Skip to content
Оптимизация бд umi cms
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
03-08-2017_12-22-00.png
03-08-2017_12-49-32.png
0_clear_db.php
0_clear_db_fast.php
0_clear_db_nocache.php
1_clear_customer_cron.php
1_clear_customer_cron.png
1_clear_db.php
1_clear_db_23-09-2017 13-12-13.png
1_clear_db_23-09-2017 13-13-09.png
README.md
tree.php

README.md

umi_database_size_optimize

umi-nsk.ru

Вариант 1 (основной):

Для свежих юми, начиная с версии 14 от 26.06.2016. (Как показала практика и для старых версий нормально работает).

1_clear_db.php - После 24.06.2016 пошли версии с доработанной системой учёта просроченных объектов, можно использовать как текущую чистилку так и предыдущие варианты. Этот быстрее работает за счёт того, что не ищет в базе старые объекты, а берёт данные о них в таблице cms3_objects_expiration.

http://site.ru/1_clear_db.php?cron=1&refresh=1&limit=5000&debug=1 // для теста

http://site.ru/1_clear_db.php?cron=1&refresh=1&limit=5000 // для одного прохода и останова

http://site.ru/1_clear_db.php?refresh=1&limit=5000 // для очистки, будет автоматом редиректится, пока всё не очистит

http://site.ru/1_clear_db.php?refresh=1&limit=5000&optimize=1 // для очистки, будет автоматом редиректится, пока всё не очистит и потом выполнить оптимизацию базы (т.е. только после оптимизации вы увидите, что размер базы уменьшился)

Вариант 2 (устарело, но рабочее):

0_clear_db.php - чистит базу данных от пустых корзин, оставшихся в базе данных по причине некорректно отрабатывающей самоочистки.

Недостатки: работает достаточно долго. создаёт промежуточный кэш файл со списком зарегистрированных пользователей и всеми оформленными заказами.

Преимущества: надёжно, базу не портит, проверен временем, подходит как для новых так и для старых версий юми, чистил базы и 2гб,и 20 гб размером, не использует cms3_objects_expiration (так как бывает, что cms3_objects_expiration уже почистили).

Пример использования:

http://site.ru/0_clear_db.php?debug=2&limit=500

http://site.ru/0_clear_db.php?debug=2&refresh=1&limit=500

http://site.ru/0_clear_db.php?cron=1&limit=1000

refresh - будет автоматом чистить до конца

cron - для использования скрипта по расписанию

debug - для проверки работы без реального удаления данных

Вариант 3:

0_clear_db_nocache.php - вариант чистилки без создания кэша. В принципе рабочий вариант и быстрый, но на паре баз данных сбоил и портил базу, потому пригоден только если есть бэкап базы 100%-ый. Чистит начиная с самых старых мусорных объектов.

0_clear_db_fast - убрал сортировку, для использования на базах с размером больше 10 гб, иначе клинит сервак. Чистит просто мусор без учёта его возраста.

http://site.ru/0_clear_db_nocache.php?cron=1&refresh=0&limit=40

http://site.ru/0_clear_db_nocache.php?cron=1&refresh=1&limit=5000

You can’t perform that action at this time.