У меня есть приложение, которое запускает сложное соединение, и оно возвращается через несколько секунд.Ничего страшного.Но когда я выполняю тот же самый точный запрос в Workbench 8.0.12 , это занимает больше минуты.Строка подключения идентична.
Этот пост не помогает, похоже, это другая проблема.
Мое приложение - .NET, использующее MySQL.Data dll.В прошлом я много раз использовал Workbench, но обычно с приложениями PHP.По многолетнему опыту я всегда видел, как Workbench запускает запрос примерно в то же время, что и приложение может его выполнить.
Вот мой запрос:
SELECT
model.Code as ModelCode,
prod.parts_group as PartsGroup,
rules.id AS ID,
rules.Code as ConstraintName,
REPLACE(REPLACE(REPLACE(REPLACE(rules.statement, '''', ''), ' me.', ''), '}and ', '} and '), '}or ', '} or ') as Statement,
ifnull(rules.priority,5) AS Priority,
model.serie_id AS SeriesID
FROM
toy_product_constraint as rules
INNER JOIN toy_product as prod ON rules.product_id = prod.id
INNER JOIN toy_product_model as model ON prod.model_id = model.id
JOIN ModelImport mi ON model.code = mi.ModelCode
WHERE
rules.statement <> 'TRUE'
AND rules.market_id is null
AND rules.statement not like 'hasSDR(true)%'
AND rules.statement like 'SPECOPTION{00%'
Последние 3, где появляются предложениячтобы добавить 99% дополнительного времени запроса:
AND rules.market_id is null
AND rules.statement not like 'hasSDR(true)%'
AND rules.statement like 'SPECOPTION{00%'
Без этих последних 3 запрос выполняется в Workbench за 1 секунду. С последними 3 это занимает более 60 секунд в Workbench .Мы могли бы поговорить об индексах и других вещах, но настоящая загадка заключается в том, почему этот же запрос выполняется (и возвращает записи) менее чем за 3 секунды в моем приложении (я построчно прошел по коду и проверил это) иболее 60 секунд на рабочем месте ??