2013-03-17 3 views
0

Итак, я никогда не работал с базой данных, это огромная. Мы говорим о 200.000.000 ++ словах, которые я хочу найти. Как я должен подходить к этому? используя нормальный оператор «где» займет 10 +++ минут, должен ли я разбить базу данных или что-то еще?найти слова в mysql огромной базе данных

Любая помощь будет замечательной!

+0

Вы используете индексы? – fedorqui

+1

попробуйте sphinx для движка таблицы: http://sphinxsearch.com/about/sphinx/ – ethrbunny

+0

mysql полный текстовый индекс –

ответ

1

MySQL FULLTEXT Индексы весьма полезны при поиске слов. Вы должны определить поля, которые содержат соответствующие строки текста/символа в качестве индексов. Тогда вы можете использовать

SELECT * FROM table WHERE MATCH (text_index_field) AGAINST ('what you need to look for'); 
1

Вы должны использовать индексацию MySql FULLTEXT. Используйте AlTER TABLE для создания индекса FULLTEXT в колонке желаний.

и от http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

полнотекстовых индексов могут быть использованы только с таблицами MyISAM. (В MySQL 5.6 и выше они также могут использоваться с таблицами InnoDB.) Полнотекстовые индексы могут создаваться только для столбцов CHAR, VARCHAR или TEXT.

+0

Если вы скопируете вставку содержимого, используйте блок-строки и включите ссылку на источник. – Tchoupi

+0

Спасибо Амиру. Для вашей информации есть определенная разметка для цитат. Я отредактировал ваш пост. – Tchoupi

+0

@MathieuImbert, Спасибо – Amir

Смежные вопросы