|
like когда в результирующей строке тоже маска
|
|||
---|---|---|---|
#18+
ShakilljohnnygПо 100млн строк в каждой таблице. Любому ускорению от 5% по сравнению с посимвольным сравнением буду рад. у вас два полных скана, некий расход памяти и проверка (100млн * 100млн ) пар. если маски повторяются в пределах одной таблицы, можно дистинктом уменьшить количество проверяемых пар, но получим затраты на дистинкт; можно отсеять обратные друг другу комбинации; можно сразу выбрать одинаковые маски из A и B как подходящие, можно сразу выбрать случаи когда одна маска покрывает другую и т.д.Можно еще взять с начала строки все что до символа "_" прибавить "%" и проиндексировать. А потом искать, в обе стороны, по этим индексам пары с помощью LIKE. Тогда, если "_" обычно встерчается не в начале строки, то можно отсечь какое то количество пар, НО, даже 1млн * 1млн это все равно очень и очень много. Так что, я бы сказал что задача в таком виде не решаема в реальные сроки. Еще было бы интересно узнать зачем все это надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2014, 20:14 |
|
|
start [/forum/topic.php?fid=46&msg=38700807&tid=1701306]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 275ms |
0 / 0 |