Заменить ключевое слово в запросе hql и медлительностиJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Заменить ключевое слово в запросе hql и медлительности

Сообщение Anonymous »

После добавления операции замены в мой запрос hql он стал работать медленнее. Как я могу сделать это быстрее?
Продукты переносятся в мою базу данных с помощью cronjob. Моя цель — внести специальные изменения только в поле имени, не затрагивая поля sku и ean. Запрос также должен найти продукт, найденный при поиске имени продукта «XDF 51241 L» при вводе «XDF51241L».
Мой запрос перед добавлением метода замены:

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

where.append(" and (p.sku like :search or pd.name like :search or p.ean like :search ");
where.append(" or EXISTS(select 1 from ProductFeature pfe where pfe.product=p and (pfe.name like :search or pfe.value like :search))) ");

q.setParameter("search", "%"+productCriteria.getSearch()+"%");
После добавления метода замены мой запрос:

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

where.append(" and (p.sku like :search or pd.name like :search or p.ean like :search ");
where.append(" or REPLACE(pd.name, ' ', '') like :search ");
where.append(" or EXISTS(select 1 from ProductFeature pfe where pfe.product=p and (pfe.name like :search or pfe.value like :search))) ");

q.setParameter("search", "%" + productCriteria.getSearch().replaceAll("\\s+", "") + "%");
Я использовал метод replace для поиска по запросу с пробелами или без них, но мой запрос стал очень медленным с точки зрения производительности. Как я могу сделать свой запрос еще быстрее?

Подробнее здесь: https://stackoverflow.com/questions/786 ... d-slowness
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»