|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Спасибо всем за ответы. Буду думать, пробовать, действовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 17:06 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Acrobat2, Если я правильно вас понял, то 1) Создай дубликат поля но с реверсным строковым значением, например ваш номер 1234578 в новом поле будет выглядеть 8754321 2) Далее в SELECT используй кляузу starting with ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 17:06 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Acrobat2, если сравнивается всегда хвост , то можно замутить индекс по выражению для реверсированной строки. Код: sql 1. 2.
Ну и будешь искать примерно так Код: sql 1.
при условии, что в PERSON всегда хранится полный номер ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 17:08 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
05.07.2018 17:06, AltHasp пишет: > Если я правильно вас понял, то хорошо поставленная задача == половине решения! (не уверен что всё именно так) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 17:09 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Да, забыл уточнить что индекс при этом будет цепляться. Код: plsql 1.
как-то так. Попробуйте, должно подойти. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 17:10 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Acrobat2SQL такую задачу не решить. Код: sql 1. 2.
Похоже, действительно, программист нужен. А ежели тут не вхождение, а похожесть числа через более сложные алгоритмы (Марковский цепей и т.п.), то ... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2018, 17:30 |
|
Оптимизировать запрос с тремя JOIN и несколькими LIKE
|
|||
---|---|---|---|
#18+
Acrobat2С запросом разобрался, разделил на два, т.к. находится редко, а проверять надо часто. Всем спасибо за помощь. Хотел ещё спросить, как лучше сделать. Есть БД с строковыми значениями телефонных номеров. Примерно 5000 раз в минуту (5000 номеров), необходимо проверять, следующим образом, есть ли вхождение строки (номера) из БД в проверяемую (которых ~5000 в мин), т.е. нужно каждый номер из БД проверять на вхождение в заданный номер. БД весит не много, записей примерно тысяч 10. Получается единственное что можно сделать, это загрузить БД в оперативную память и с неё в цикле перебирать все номера и искать вхождение ???Мне кажется, что для этой задачи тебе нужен другой инструмент. Пригодится триграммный индекс или, возможно, специальный префиксный индекс типа этого . ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2018, 00:22 |
|
|
start [/forum/topic.php?fid=40&msg=39670210&tid=1561051]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 156ms |
0 / 0 |