За последние 24 часа нас посетили 53989 программистов и 1720 роботов. Сейчас ищут 986 программистов ...

Оптимизация базы данных

Тема в разделе "PHP для новичков", создана пользователем Андрей12, 3 авг 2015.

  1. Андрей12

    Андрей12 Новичок

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    Здравствуйте! Как оптимизировать базу данных( таблицу)? Мне нужно оптимизировать две таблицы,но я не знаю,что именно там не так,и как это делается - объясните пожалуйста.
     
  2. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Боюсь при такой постановке вопроса никто не поможет...
    Код (Text):
    1. mysqlcheck -u root -p --optimize DB_NAME TB_NAME1 TB_NAME2
     
  3. Андрей12

    Андрей12 Новичок

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    Код (Text):
    1. function OptimizeAllTables() {
    2. $tables = mysql_query ('SHOW TABLES'); //get all the tables
    3. while ($table = mysql_fetch_array ($tables))
    4. mysql_query ('OPTIMIZE TABLE ' . $table[0]); //optimize them
    5. }
    Такой кодик можно? как лучше сделать,чтобы каждый раз оптимизация шла или раз в час?
     
  4. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Можно создать триггер в БД с командой
    , который будет настроен на ежечасное выполнение.
    P.S.: а можно на событие внесения данных в одну из таблиц - только это убьет сервер.
     
  5. Андрей12

    Андрей12 Новичок

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    Понял,спасибо большое=)
     
  6. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    PhpMyAdmin? Или командная строка?
    Код (PHP):
    1. CREATE DEFINER =  `root`@`localhost` EVENT `hour` ON SCHEDULE EVERY1 HOUR STARTS '2015-08-03 00:00:00'ENDS '2015-08-27 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO OPTIMIZE TABLE Test
    Только я ошибся - не триггер, а обработчик события

    В PMA вверху справа - "ЕЩЁ" -> "События"
    [​IMG]
     
  7. Андрей12

    Андрей12 Новичок

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    Куда и что вставить нужна=)?
     
  8. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Этот код для командной строки, а если есть PMA - можно пару кнопок нажать... (Обновил пост - смотрите выше)
     
  9. Андрей12

    Андрей12 Новичок

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    У меня РМА,но у меня нету добавить события в "еще"=) Спасибо большое,пойду искать=)
     
  10. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Вы наверное БД не выбрали... (телепатия)