Неизвестное падение базы

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
lavrik
Сообщения: 110
Зарегистрирован: 2013.03.02, 21:41
Контактная информация:

Неизвестное падение базы

Сообщение lavrik »

Всем привет!
У меня постоянно возникает непонятное падение мускула.

А именно:

Код: Выделить всё

        $categoryDB = Category::find()
                        ->    select('id, provider_id')
                        ->    where(['provider' => $category ])
                        ->    asArray()
                        ->    all();
Интересный момент: Этот запрос выполняется 4 раза. Но когда $category == 'MYCAT' выпадает ошибка. На остальных трёх категориях её нету.
Ошибка:

Код: Выделить всё

Exception 'yii\db\Exception' with message 'PDOStatement::execute(): MySQL server has gone away
The SQL being executed was: SELECT `id`, `provider_id` FROM `Category` WHERE `provider`='MYCAT''

in C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\db\Schema.php:628

Stack trace:
#0 C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\db\Command.php(853): yii\db\Schema->convertException(Object(yii\base\ErrorException), 'SELECT `id`, `p...')
#1 C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\db\Command.php(359): yii\db\Command->queryInternal('fetchAll', NULL)
#2 C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\db\Query.php(206): yii\db\Command->queryAll()
#3 C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\db\ActiveQuery.php(132): yii\db\Query->all(NULL)
#4 C:\WWW\domains\zen-comp\console\components\MoreActions.php(147): yii\db\ActiveQuery->all()
#5 C:\WWW\domains\zen-comp\console\components\NetlabComponent.php(316): console\components\MoreActions->saveCategory(Array)
#6 C:\WWW\domains\zen-comp\console\controllers\LoaderController.php(51): console\components\NetlabComponent->actionLoad('1')
#7 [internal function]: console\controllers\LoaderController->actionLoad('1', '0')
#8 C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\base\InlineAction.php(55): call_user_func_array(Array, Array)
#9 C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\base\Controller.php(151): yii\base\InlineAction->runWithParams(Array)
#10 C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\console\Controller.php(91): yii\base\Controller->runAction('load', Array)
#11 C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\base\Module.php(455): yii\console\Controller->runAction('load', Array)
#12 C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\console\Application.php(167): yii\base\Module->runAction('loader/load', Array)
#13 C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\console\Application.php(143): yii\console\Application->runAction('loader/load', Array)
#14 C:\WWW\domains\zen-comp\vendor\yiisoft\yii2\base\Application.php(375): yii\console\Application->handleRequest(Object(yii\console\Request))
#15 C:\WWW\domains\zen-comp\yii(27): yii\base\Application->run()
#16 {main}
Наверное стоит указать что это консольное приложение.
И ещё. Ошибка эта валится в 3х из пяти случаев - то есть НЕ всегда.
И кстати, по этому полу (provider) есть индекс
Почему мускулу не нравится строка MYCAT ???
lavrik-v.ru - моя напоминалка по php.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Неизвестное падение базы

Сообщение zelenin »

не думаю, что это связано с mycat
lavrik
Сообщения: 110
Зарегистрирован: 2013.03.02, 21:41
Контактная информация:

Re: Неизвестное падение базы

Сообщение lavrik »

помимо mycat есть ещё другие строки. Но эта ошибка связана именно с этой строкой! На других НИ РАЗУ не падала. А на этой 3-4 раза из пяти!
К тому-же ЭТА строка находится 3тья в массиве, иногда четвертая. Первые 2-3 строки проходят, эта даёт ошибку :(
lavrik-v.ru - моя напоминалка по php.
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Неизвестное падение базы

Сообщение lynicidn »

тогда это кот на перекур бегает =)
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Неизвестное падение базы

Сообщение lynicidn »

а вообще я не думаю что у вас в таблице есть и provider_id и просто provider, где то нахимичили?
а так же если посмотреть, что порождает ошибку, это п.5
> #5 C:\WWW\domains\zen-comp\console\components\NetlabComponent.php(316): console\components\MoreActions->saveCategory(Array)
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Неизвестное падение базы

Сообщение zelenin »

lynicidn писал(а):а вообще я не думаю что у вас в таблице есть и provider_id и просто provider, где то нахимичили?
а так же если посмотреть, что порождает ошибку, это п.5
> #5 C:\WWW\domains\zen-comp\console\components\NetlabComponent.php(316): console\components\MoreActions->saveCategory(Array)
в этом методе дергается селект.

возможно у вас записей с mycat очень много, по сравнению с другими категориями. mysql падает на таком кол-ве.
lavrik
Сообщения: 110
Зарегистрирован: 2013.03.02, 21:41
Контактная информация:

Re: Неизвестное падение базы

Сообщение lavrik »

zelenin писал(а):
lynicidn писал(а):а вообще я не думаю что у вас в таблице есть и provider_id и просто provider, где то нахимичили?
а так же если посмотреть, что порождает ошибку, это п.5
> #5 C:\WWW\domains\zen-comp\console\components\NetlabComponent.php(316): console\components\MoreActions->saveCategory(Array)
в этом методе дергается селект.

возможно у вас записей с mycat очень много, по сравнению с другими категориями. mysql падает на таком кол-ве.
1) Да, действительно у меня есть и provider_id и provider - это часть алгоритма, тут все верно.
2) Ошибка не тут, а даже чуть выше - п. 4 (MoreActions.php(147)) - но кусок кода оттуда я уже и привел в первом посте.
На всякий случай повторю: ошибка провоцируется этим кодом:

Код: Выделить всё

        $categoryDB = Category::find()
                        ->    select('id, provider_id')
                        ->    where(['provider' => $category ])
                        ->    asArray()
                        ->    all();
Кароче, я уже с месяц в ступоре (((
lavrik-v.ru - моя напоминалка по php.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Неизвестное падение базы

Сообщение zelenin »

lavrik писал(а):
zelenin писал(а):
lynicidn писал(а):а вообще я не думаю что у вас в таблице есть и provider_id и просто provider, где то нахимичили?
а так же если посмотреть, что порождает ошибку, это п.5
> #5 C:\WWW\domains\zen-comp\console\components\NetlabComponent.php(316): console\components\MoreActions->saveCategory(Array)
в этом методе дергается селект.

возможно у вас записей с mycat очень много, по сравнению с другими категориями. mysql падает на таком кол-ве.
1) Да, действительно у меня есть и provider_id и provider - это часть алгоритма, тут все верно.
2) Ошибка не тут, а даже чуть выше - п. 4 (MoreActions.php(147)) - но кусок кода оттуда я уже и привел в первом посте.
На всякий случай повторю: ошибка провоцируется этим кодом:

Код: Выделить всё

        $categoryDB = Category::find()
                        ->    select('id, provider_id')
                        ->    where(['provider' => $category ])
                        ->    asArray()
                        ->    all();
 
Кароче, я уже с месяц в ступоре (((
вы процитировали мое предположение, но не прокомментировали его. так вы будете в ступоре еще год.
lavrik
Сообщения: 110
Зарегистрирован: 2013.03.02, 21:41
Контактная информация:

Re: Неизвестное падение базы

Сообщение lavrik »

zelenin писал(а): вы процитировали мое предположение, но не прокомментировали его. так вы будете в ступоре еще год.
Прокомментировал, читайте внимательнее:
lavrik писал(а): Да, действительно у меня есть и provider_id и provider - это часть алгоритма, тут все верно.
А по поводу количества записей с mycat - да, их действительно больше чем остальных, но не понимаю как это может повлиять...
В данный момент проверяю это методом "тыка"...

Для справки:

Код: Выделить всё

SELECT provider, COUNT(*) FROM `Category` GROUP BY provider


provider:    СOUNT(*):
cat1        843
cat2        1182
cat3        460
mycat     1661
cat5        472
Как видно, разница небольшая, да и впринципе их не много для мускула....
lavrik-v.ru - моя напоминалка по php.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Неизвестное падение базы

Сообщение zelenin »

lavrik писал(а):
zelenin писал(а): вы процитировали мое предположение, но не прокомментировали его. так вы будете в ступоре еще год.
Прокомментировал, читайте внимательнее:
lavrik писал(а): Да, действительно у меня есть и provider_id и provider - это часть алгоритма, тут все верно.
это не мой комментарий
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Неизвестное падение базы

Сообщение zelenin »

lavrik писал(а):А по поводу количества записей с mycat - да, их действительно больше чем остальных, но не понимаю как это может повлиять...
легко.
но 1661 это копейки.
Ответить