Я создаю MySQL MyISAM (нужен полный текстовый поиск).
- column_1 - содержит первичный ключ TEXT (данные будут 64-битной кодированной строкой)
- column_2 - ссылается на другую таблицу и используется для объединений
- column_3 - еще один столбец TEXT, проиндексированный для поиска с использованием MATCH
- ...
Таблица может содержать миллиарды записей с течением времени.
Столбец_1 основного поиска будет выполняться по столбцу первичного ключа следующим образом. например,
SELECT * FROM table WHERE column_1 = 123;
Столбец_2 основного поиска будет выполняться следующим образом:
SELECT * FROM table_1
JOIN table_2 ON ( table_1.column_2 == table_2.id );
column_3 основной поиск будет выполняться следующим образом:
SELECT column_3, MATCH ( column_3 )
AGAINST ( 'TOKEN' ) AS score
FROM table_1;
Я бы хотел посоветоваться с тем, какие индексы мне нужно настроить, и с любыми другими советами, которые могут иметь значение.
Заранее спасибо.
P.S
Правильно ли я считаю, что если вы выполните поиск, например,
SELECT * FROM table WHERE id = 1; (where id column is not indexed)
Поиск на существенной базе данных будет медленнее, чем если бы столбец был проиндексирован?