X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Выборка из большой таблицы
yuriy_hb
yuriy_hb
Topic Starter сообщение 5.5.2011, 10:00; Ответить: yuriy_hb
Сообщение #1


Уважаемы програмисты!
Кто может мне подсказать такую фичу.
Разрабатываю быстрый поиск по таблицы прайсов которые загружаются в БД и которая насчитывает свыше 10-ка милн. строк. Создал полнотекстовые индексы, скрипт ищет нужные слова в этой огромной таблице. На страницы выводится по 20 строк результата поиска. Но проблема в том, что каждый раз, когда обращаеся к этой большущей табл. скрипту приходится перелопачивать большое кол-во строк (несмотря на индексацию). Нашел выход - создать промежуточную табл. (обычную типа MyISAM на 5000 строк) на основе запроса типа:

$id_session = session_id(); // Получаем уникальный id сессии для имени табл. 9к примеру на уникальность)

CREATE TABLE tmp_$id_session
SELECT prices.id,
prices.typeauto,
prices.marka,
prices.model,
prices.namezapch,
prices.numberkatalog,
prices.maker,
prices.price,
prices.valuta,
prices.deliverydate,
prices.idUser
FROM prices
INNER JOIN pricesAccess ON prices.idUser = pricesAccess.idUser
WHERE
pricesAccess.access = 1
AND MATCH (prices.typeauto, prices.marka, prices.model, prices.namezapch, prices.numberkatalog)
AGAINST ('$searchWord')
ORDER BY price ASC
LIMIT 5000


и помещать туда результаты поиска и затем работать, листать ее как обычно - это намного быстрее чем ковырять огромную таблицу. Но есть "НО". Эти таблицы не удаляются, их нужно ручками удалять, а когда таких поисков будет много то для каждого такого поиска будет создаватся отдельная таблица... Нужно придумать такой механизм, который позволял бы после окончания работы с такими промежуточными табл. удалять их автоматически (идея то возникла - запускать Cron - в определенное время и удалять эти табл.), но может у кого-то из Вас есть более лутчшее решения в даной ситуации. На многих форумах задавал этот вопрос, но так толком никто и не смог подсказать как все таки реализовать поиск (быстрый) имеея огромную таблицу даных! Надеюся на вашу помощь!!!
Спасибо! :rolleyes:
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 5.5.2011, 10:55; Ответить: Mulder_hb
Сообщение #2


Откройте для себя Сфинкс:
http://sphinxsearch.com/
http://habrahabr.ru/blogs/sphinx/
http://habrahabr.ru/blogs/webdev/30594/
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
yuriy_hb
yuriy_hb
Topic Starter сообщение 5.5.2011, 12:28; Ответить: yuriy_hb
Сообщение #3


Понятно Сфинкс - штука хорошая, а так как я предложил (тоисть в даном случаее что посоветуете без Сфинкса)???

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Оптимизация сайтов, продвижение, наращивание ссылок. Большой опыт работы
2 BurzhuyXXi 1962 25.2.2023, 14:37
автор: BurzhuyXXi
Открытая тема (нет новых ответов) Требуются рерайтеры, большой объем работ.
0 sodexx1 912 4.9.2022, 18:55
автор: sodexx1
Открытая тема (нет новых ответов) Нужны лиды air duct cleaning (Канада, провинция Онтарио, большой Торонто).
Приветствуется так же просто подробный хороший план, как лиды получить
0 memeplex 4508 3.9.2021, 21:40
автор: memeplex
Открытая тема (нет новых ответов) Нужен кодер php, бюджет не большой !
0 imvaisov 1309 4.7.2020, 16:38
автор: imvaisov
Открытая тема (нет новых ответов) Куплю/закажу сайт с большой базой дипломных работ
0 eduarddis 1905 13.6.2020, 11:37
автор: eduarddis


 



RSS Текстовая версия Сейчас: 29.3.2024, 10:03
Дизайн