За последние 24 часа нас посетил 16781 программист и 1644 робота. Сейчас ищет 941 программист ...

Запросы INSERT INTO

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

  1. Андрей12

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

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    Добрый день! Есть таблица histori в нее идет каждый день по 10-20 тысяч записей запросами INSERT INTO и когда накапливается в этой таблице +- 400 тысяч записей,то скорость запросов уменьшается и выползает ошибка. Как автоматизировать таблицу?
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    а можно текст ошибки в студию? :)
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Может пересчёт индекса происходит, показывай схему histori и пример запроса
     
  4. Андрей12

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

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    Код (Text):
    1. mysql_query("INSERT INTO histori (us_id, summa, date, comment, type) VALUES ('$usid', '0', '$date', 'Подарил', 'iphone')") or die(mysql_error());
    max_updates 150000
     
  5. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Андрей12 это точно весь текст ошибки?
    Схема это структура базы, или не понятно? Её тоже выложи.
     
  6. Андрей12

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

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    Вроде: превышен лимит max_updates 150000 ( точно уже не помню,давно было) Как сделать структуру базы?
     
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    PHPMyAdmin -> histori -> Экспорт -> Обычный - отображать все возможные настройки -> Параметры формата: -> структура -> Вперёд!
     
  8. Андрей12

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

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    Код (PHP):
    1.    CREATE TABLE IF NOT EXISTS `histori` (
    2.   `id` int(11) NOT NULL AUTO_INCREMENT,
    3.   `us_id` int(11) NOT NULL,
    4.   `ref_login` varchar(55) CHARACTER SET utf8 NOT NULL,
    5.   `ip` varchar(55) CHARACTER SET utf8 NOT NULL,
    6.   `summa` double(10,2) NOT NULL,
    7.   `date` int(11) NOT NULL,
    8.   `comment` text CHARACTER SET utf8 NOT NULL,
    9.   `type` varchar(55) CHARACTER SET utf8 NOT NULL,
    10.   PRIMARY KEY (`id`)
    11. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=11 ;
    12.  
    13. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    14. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    15. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;     
    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  9. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Похоже всё таки надо полный текст ошибки.
     
  10. Андрей12

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

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    User 'u0000' has exceeded the 'max_updates' resource (current value: 150000) вот эта надпись вылазила когда заходил на сайт и после каждого обновления страницы.

    Вот в журнале логах было -
    [01-May-2015 18:17:37] NOTICE: [pool 2989_сайт.ру] child 16998 exited with code 0 after 91.580733 seconds from start
    [01-May-2015 18:17:37] NOTICE: [pool 2989_сайт.ру] child 12248 started
    [01-May-2015 18:17:38] NOTICE: [pool 2989_сайт.ру] child 17010 exited w

    Я решил эту проблему после того как почистил таблицу на 100000 записей. всего было +-400 тысяч.
     
  11. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Совпадение. Судя по всему это лимит на количество запросов в час. Ищите хостинг без левых ограничений или переходите на что-нибудь вроде DO. Возможно стоит так же подумать о смене мускуля на монгу, она более спокойно переваривает большое количество вставок, правда за это приходится платить скоростью выборки. Но тут уже что важнее )
     
  12. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Параметры MAX_QUERIES_PER_HOUR #, MAX_UPDATES_PER_HOUR # и MAX_CONNECTIONS_PER_HOUR # ;)
     
  13. Андрей12

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

    С нами с:
    18 фев 2015
    Сообщения:
    131
    Симпатии:
    0
    не думаю что совпадение. После этого случай всегда чищу таблицу и за целых 1.5 месяца не разу не вылазила,но мне надоело каждую неделю ее чистить=))) Хочу проверить,если не чистить таблицу,то выйдет ли опять ошибка...
     
  14. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Ага. Правда не думаю, что их можно поменять на обычном хостинге )

    Добавлено спустя 1 минуту 42 секунды:
    На хостинге можно настроить крон? Сделайте скрипт который будет удалять старые записи при их количестве >400к )
     
  15. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    ну, если у пользователя достаточно привилегий - то наверное можно :)
    и тогда можно через Grant-запрос изменить..