Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Для профи > Поиск по таблице в 1.5 ГБ, 15 млн записей


Автор: letsgo 14.12.2010, 11:25
Есть таблица, размер которой уже достиг 16 млн записей, общий размер: 1.5 Гб.
Данные постоянно пополняются, удаляются очень редко, в сутки примерно 200-300 тысяч записей идут под снос, но при этом 400-500 добавляются.
Сейчас необходимо делать по базе поиск. 
Всего полей: 16, Почти все поля типа int, есть несколько float.


Таблица представляет собой хранилище данных о ценах поставщиков по различным группам товаров.
Имеет ли смысл создать отдельную таблицу для каждого поставщика или для отдельного типа товара.
Поставщиков сейчас 4, будет около 10.
Типов товара сейчас 2, будет около 15.


Автор: skyboy 14.12.2010, 13:49
возможно, есть смысл. чем меньше индекс, тем проще поместить его в память целиком.
а ещё я бы рекомендовал испытать http://sphinxsearch.com.

Автор: solenko 15.12.2010, 10:13
letsgo, дайие больше подробностей -- какой именно поиск?

Цитата(skyboy @  14.12.2010,  12:49 Найти цитируемый пост)
а ещё я бы рекомендовал испытать Sphinx. 

А смысл? Он для полнотекста, а тут
Цитата(letsgo @  14.12.2010,  10:25 Найти цитируемый пост)
Всего полей: 16, Почти все поля типа int, есть несколько float.


Автор: skyboy 24.1.2011, 11:10
упс, пропустил.
solenko, в sphinx есть поиск по атрибутам. т.е. по сути дублирование мезанизма индексов из СУБД.
правда, я погорячился, когда решил, что sphinx может работать с большими объемами быстрее, чем СУБД - все ж опыт играют на руку mysql.

Автор: Muerto 30.1.2011, 01:32
Заметь что если у тебя MyIsam то 4гига это могила

Автор: Texasian 4.2.2011, 12:52
Какая БД-то у автора? В любом случае, лучше разбить на несколько таблиц, если количество записей будет расти

Автор: Akonkagva1 14.3.2011, 16:56
Репликация вам в помощь,  скорость значительно возрастёт.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)