Я в курсе всех вопросов с почти таким же именем здесь, но ни одно из их решений не казалось ответом на мои проблемы.
Используемый мной запрос не очень большой, и у меня определенно все параметры размера пакета настроены правильно (никогда не было такой проблемы, и некоторые из моих запросов были достаточно большими, намного больше, чем рассматриваемый запрос).
Я использую подготовленные операторы для передачи некоторых данных в полнотекстовый поиск, и только когда мне кажется, что я использую их таким образом, я получаю эту ошибку. Если я возьму текст и вставлю его как часть запроса вместо того, чтобы подготовить его, он будет работать нормально.
Кроме того, в журнале MySQL я получаю огромную ошибку, которая начинается так
21:31:08 UTC — mysqld получил сигнал 11;
Это может быть потому, что вы нажали на ошибку. Также возможно, что этот двоичный файл
или одна из библиотек, с которыми она была связана, повреждена, неправильно построена,
или неправильно настроен. Эта ошибка также может быть вызвана неисправностью оборудования.
Попытка собрать некоторую информацию, которая может помочь диагностировать проблему.
Поскольку это сбой и что-то определенно не так, информация
Процесс сбора может завершиться неудачей.
Запрос таков:
insert into`unpairedbillsuggestions`(`UnpairedBillSuggestionID`,
`ShippingBillID`,`InvoiceID`,`Score`,`DateTimeAdded`)
select`buuid`(),?,`InvoiceID`,`Score`,now()
from(select if(`invoices`.`InvoiceNumber`in(?,?,?),
5,0)`InvoiceNumberScore`,
if(`states`.`APO`=0,match(`shippingoptions`.`Company`,`shippingoptions`.`FullName`,`shippingoptions`.`AddressLine1`,
`shippingoptions`.`AddressLine2`)against(?),
match(`invoices`.`_APOCustomerAddress`)against(?))/
20`MatchScore`,
if(`invoices`.`_ShippingAccountNumber`=?,0.3,0)`ShippingAccountNumberScore`,-abs(datediff(date(`invoices`.`DateTimeShipped`),
ifnull(?,date(`invoices`.`DateTimeShipped`)-interval 14 day)))/7`DateScore`,
if(`invoices`.`_InvoiceTrackingNumberCount`=0,2,0)`InvoiceTrackingNumberCountScore`,`invoices`.`InvoiceID`,
`invoices`.`InvoiceNumber`,`invoices`.`DateTimeShipped`,`shippingoptions`.`FullName`,
`shippingoptions`.`Company`,`shippingoptions`.`AddressLine1`,`shippingoptions`.`AddressLine2`,
`shippingoptions`.`City`,`states`.`StateCode`,`countries`.`CountryCode3`,`shippingoptions`.`Zip`,
`invoices`.`_Total`,`invoices`.`_ShippingAccountNumber`,`companies`.`Name` `CompanyName`,`factories`.`Name` `Factory`,
`networks`.`Icon`,(select`InvoiceNumberScore`+`InvoiceTrackingNumberCountScore`+
`ShippingAccountNumberScore`+`MatchScore`+`DateScore`)`Score`
from`invoices`
left join`invoiceshippingoptions`using(`InvoiceID`)
left join`shippingoptions`
on`shippingoptions`.`ShippingOptionID`=`invoiceshippingoptions`.`ShippingOptionID`
left join`countries`on`countries`.`CountryID`=`shippingoptions`.`CountryID`
left join`states`on`states`.`StateID`=`shippingoptions`.`StateID`
join`companies`on`companies`.`CompanyID`=`invoices`.`CompanyID`
join`networks`on`networks`.`NetworkID`=`companies`.`NetworkID`
join`factories`on`factories`.`FactoryID`=`invoices`.`FactoryID`
where`invoices`.`InvoiceStatusID`<>'c9be156b-ffca-11e4-888d-3417ebdfde80'
having`Score`>0
order by`Score`desc
limit 5)`a`;
При наличии параметров (все они передаются в виде строк):
Задача ещё не решена.
Других решений пока нет …