Автор Тема: DBI: Быстрый поиск по результатам запроса  (Прочитано 3136 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
Отцы, братья! Помогите плиз советом/идеей, как прошерстить БД по одному полю?
Задача в следующем.
1.Есть некий список (строки) в массиве, порядка 2000 записей.
2.Есть таблица на mysql, тоже со списком строк, порядка 20000 записей.
3.Есть ф-ция на перле которая сравнивает две строки.

Как найти строки в БД сверенные по моей ф-ции?

Какие есть варианты?
1.Формировать запрос к БД по каждой записи массива(1)?
2.Загонять через DBI данные таблицы БД в массив и там шерстить?

Что посоветуете?

СПАСИБО!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
DBI: Быстрый поиск по результатам запроса
« Ответ #1 : 22 Августа 2003, 14:57:13 »
Все зависит от того что тебе далее нужно будет с ними делать.
Но второй вариант выглядит повкуснее. Явно повкуснее...
The documentations is your friend

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
DBI: Быстрый поиск по результатам запроса
« Ответ #2 : 22 Августа 2003, 15:02:44 »
kosm
а ты уверен, что это сравнение (которое делает перл-функция) нельзя реализовать через SQL-операторы ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
DBI: Быстрый поиск по результатам запроса
« Ответ #3 : 22 Августа 2003, 15:11:49 »
Макс
Думаю что да : http://forums.webscript.ru/showthread.php?s=&threadid=13413&msgnum=4
Хотя, пусть ответчик подойдет...
The documentations is your friend

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
DBI: Быстрый поиск по результатам запроса
« Ответ #4 : 22 Августа 2003, 15:19:53 »
NeoNox
Найденные значения нужно будет проапдейтить в БД, вернее другое поле той же записи. Поэтому в массиве будут значения поля ID.
С массивом мне тоже как-то больше по-душе. Единственное смущает объем и сам процесс поиска в массиве. Объем 20000 записей в памяти не многовато? А с поиском вообще не понятно. Чисто перебором искать?

Макс
Смысл моей ф-ции в том, чтобы сравнить два предложения, при чем порядок слов и знаки припинания не беруться в учет.
Т.е.: МАША ЕЛА КАШУ! == МАШКА ЕЛА КАШКУ == ЕЛА КАШУ - МАША будет считаться идентичными предложениями. Такое навряд ли возможно реализовать чисто на sql :( К тому же тут еще и кириллица.
Если такое возможно - давай, излагай. Рассматриваю все варианты.
Останется самый быстрый.

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
DBI: Быстрый поиск по результатам запроса
« Ответ #5 : 22 Августа 2003, 15:27:11 »
NeoNox
Точно, я это был :)) Спасибо! Твоя идея с хешами + soundex вроде как решили мою задачу. Ф-ция работает. Но теперь надо ведь ее на 2000 записей (массив) против 20000 (БД) натравить.
Думаешь можно реализовать алгоритм ф-ции на SQL?

PS: Могу привести текст ф-ции, если действительно это реально на SQL перенести.

СПАСИБО ЗА ПОМОЩЬ! ОЧЕНЬ ВЫРУЧАЕТЕ!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28