|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Доброго времени суток. Столкнулся с проблемой, имеется запрос вида: Код: sql 1. 2. 3. 4. 5.
Работает очень медленно, причём из-за: Код: sql 1. 2. 3. 4.
Есть ли возможность оптимизировать ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 13:15 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
03.07.2018 13:15, Acrobat2 пишет: > Есть ли возможность оптимизировать ??? да Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 13:18 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Направьте на путь праведный, о мудрые старцы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 13:19 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Acrobat2, для начала перемести LEFT JOIN в конец. А потом кури планы. Впрочем LIKE с поиском внутри строки не индексируется. Если к table3 всегда применяется поисковое выражении в WHERE, то и LEFT JOIN не нужен, достаточно JOIN. А там глядишь может получится получить выгоду от алогритма MERGE/HASH JOIN ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 13:25 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Спасибо!!! Стало быстрее, но всё равно хочется быстрее)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 13:30 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Как быстро выполняются и сколько записей выдают запросы: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 14:10 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Acrobat2, Если таблица небольшая, то есть вариант для ускоренного отбора строк с вашими фразами(словами) c LIKE: 1) искомое поле для LIKE загнать в новую таблицу, разделив на отдельные слова. Например слово Иванов Петр Сидорович будет как отдельные строки: Код: plsql 1.
Код: plaintext 1. 2. 3.
2) далее в текстах запросов использовать STARTING WITH, при этом подцепится индекс по этому полю; У нас ускорение получилось добиться примерно в 20 раз. Попробуйте, м.б. вам это поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 15:05 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Спасибо за идею, я вот тоже думал, как можно изменить существующие таблицы или добавить новую для ускорения. Проблема к сожалению не в LIKE, проблема в JOINах, очень медленно выполняет. WildSery завтра проверю, сейчас нет возможности. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 15:11 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
03.07.2018 15:11, Acrobat2 пишет: > проблема в JOINах, очень медленно выполняет. никому не показывай планы запросов. так будет быстрее. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 15:12 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Мимопроходящий03.07.2018 15:11, Acrobat2 пишет: > проблема в JOINах, очень медленно выполняет. никому не показывай планы запросов. так будет быстрее. Сейчас к сожалению нет возможности показать, только завтра ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 15:14 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Acrobat2, вот как забавно, т.е. план посмотреть не можем, а про ускорение говорим. Как мерили? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 15:49 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Симонов ДенисAcrobat2, вот как забавно, т.е. план посмотреть не можем, а про ускорение говорим. Как мерили? Я просто уже дома)))) План остался за горизонтом)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2018, 16:05 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
С запросом разобрался, разделил на два, т.к. находится редко, а проверять надо часто. Всем спасибо за помощь. Хотел ещё спросить, как лучше сделать. Есть БД с строковыми значениями телефонных номеров. Примерно 5000 раз в минуту (5000 номеров), необходимо проверять, следующим образом, есть ли вхождение строки (номера) из БД в проверяемую (которых ~5000 в мин), т.е. нужно каждый номер из БД проверять на вхождение в заданный номер. БД весит не много, записей примерно тысяч 10. Получается единственное что можно сделать, это загрузить БД в оперативную память и с неё в цикле перебирать все номера и искать вхождение ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 16:20 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
не для бд задача ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 16:34 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Чё это не для БД? А для чего? Автор, задача не ясна. Кто на ком стоял? 5000 тысяч - число красивое. Как 120 - приборы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 16:37 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
я так думаю, тут снова нужен программист... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 16:40 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
WildSery, Есть номер телефона, например 89231234578, нужно проверить все записи из БД на вхождение (на подстроку) в этом номере. Например очередной номер из БД имеет вид 1234578, это будет совпадением. SQL такую задачу не решить. Хочется спросить профи, как сделать оптимальнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 16:45 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Acrobat2, а по полным номерам нельзя искать или хранить полные номера? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 16:50 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
К сожалению нет, в этом вся и сложность. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 16:51 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
задача - тьфу. арабских цифр всего 10. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 16:53 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Acrobat2Есть номер телефона, например 89231234578 ...номер из БД имеет вид 1234578 Хрустальный шар подсказывает, что надо не просто подстроку, а хвост. Если так, то откусывай от пришедшего номера по одному начальному символу и проверяй на полное совпадение. И так до минимального размера, который вообще имеет смысл. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 16:55 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Мимопроходящийзадача - тьфу. арабских цифр всего 10. Не понял Вас, какая разница 10 их или 10 млн. Тут же задача на сравнение и сдвиг. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 16:56 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
afgmAcrobat2Есть номер телефона, например 89231234578 ...номер из БД имеет вид 1234578 Хрустальный шар подсказывает, что надо не просто подстроку, а хвост. Если так, то откусывай от пришедшего номера по одному начальному символу и проверяй на полное совпадение. И так до минимального размера, который вообще имеет смысл. Хвост это тоже подстрока, вопрос я задал фундаментального характера. Вы предлагаете тупо перебирать каждый раз, о чём я и писал выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 16:58 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Acrobat2Хвост это тоже подстрока, вопрос я задал фундаментального характера. Вы предлагаете тупо перебирать каждый раз, о чём я и писал выше. Не тупо перебирать, а прицельно искать. И таких индексных поисков будет всего несколько штук. Если вот прям любая-любая подстрока, то уже сложнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 17:00 |
|
|
start [/forum/search_topic.php?author=%D0%9F%D0%B0%D0%B1%D0%BB%D0%B8%D0%BA&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
others: | 728ms |
total: | 925ms |
0 / 0 |