|
|
|
Оптимизация запроса для алгоритма шинглов
|
|||
|---|---|---|---|
|
#18+
Всем привет! Написал свою реализацию алгоритма шинглов для сравнения текстов из файлов. Файлы читаются, разбиваются и загружаются в базу. Затем скрип периодически запускается и проверяет совпадения между файлами, с помощью выборки: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. (кавычки заменяются на префикс библиотекой БД) Сперва делается выборка новых файлов, затем они по очереди подставляются в запрос. Оч долго выполняется... Подскажите, пожалуйста, как можно оптимизировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 07:38:25 |
|
||
|
Оптимизация запроса для алгоритма шинглов
|
|||
|---|---|---|---|
|
#18+
М Евгенийкак можно оптимизировать.Индексы правильные построить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 08:53:37 |
|
||
|
Оптимизация запроса для алгоритма шинглов
|
|||
|---|---|---|---|
|
#18+
М Евгений Код: plsql 1. А у вас точно MySQL ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 11:00:07 |
|
||
|
Оптимизация запроса для алгоритма шинглов
|
|||
|---|---|---|---|
|
#18+
miksoft, М Евгений (кавычки заменяются на префикс библиотекой БД) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 12:19:47 |
|
||
|
Оптимизация запроса для алгоритма шинглов
|
|||
|---|---|---|---|
|
#18+
AkinaМ Евгенийкак можно оптимизировать.Индексы правильные построить. Можно детальнее? Это ускорит запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 12:22:06 |
|
||
|
Оптимизация запроса для алгоритма шинглов
|
|||
|---|---|---|---|
|
#18+
группировка не по всем полям. запрос сильно похож на Cross JOIN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 13:40:23 |
|
||
|
Оптимизация запроса для алгоритма шинглов
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. индексы на с.хэш, с.файл, ф.ид, и, возможно, ф.таймкриэйтед ну и про группировку выше уже сказали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 13:46:53 |
|
||
|
Оптимизация запроса для алгоритма шинглов
|
|||
|---|---|---|---|
|
#18+
я так понимаю, запрос надо сделать, чтобы мускл правильно это делал подозреваю что у нас задача, для заданого айди, найти по этим хешам, нету ли более раннего файла на него похожего. я к тому что выборка select * from shingles where file = {$newfile->id} это очень маленькая часть от общего обьёма. так что по идее, лучше, джоинить не таблицу шинглов(одну из двух) а именно эту выборку итого получим (выборка) джоин файлы??? зачем, джоин выборку этой самой нужной строки для нового файла итого (выборка из шинглов для данного файла) джоин (выборка из файлов для данного файла) и тут уже пошли джоины таблиц файлы и шинглы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 15:02:19 |
|
||
|
Оптимизация запроса для алгоритма шинглов
|
|||
|---|---|---|---|
|
#18+
Спасибо всем кто отозвался. tanglir Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. индексы на с.хэш, с.файл, ф.ид, и, возможно, ф.таймкриэйтед ну и про группировку выше уже сказали Ваш этот вариант работает чуток побыстрее, вроде как, но разница очень небольшая. Хотелось бы еще... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 21:11:50 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38656630&tid=1834741]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 344ms |

| 0 / 0 |
