Индексирование таблиц

A-Lex[FM]

Web/Highload/DataScience
Индексирование таблиц

Появился трабл. Давным давно создал таблицы без индексов, так как не думал что они могут пригодиться. А теперь они нужны, причём очень.
Сделал ALTER TABLE table ADD FULLTEXT search (title, article)

Вопрос, как теперь сделать так чтобы в индексы попали не только новые данные, но и те, что уже есть в базе? Т.е. как проиндексировать таблицы?
 

Wicked

Новичок
Ну вообще mysql индексирует существующие данные во время создания индекса. Т.е. у тебя оно уже должно быть проиндексировано. Есть подозрения, что это не так?
 

A-Lex[FM]

Web/Highload/DataScience
да, размер файла с индексами не изменился, а данных в таблице довольно таки много
 

Wicked

Новичок
ну с таким я ни разу не сталкивался. Может ты не за тем файлом наблюдал? Или рефреш забыл сделать? ...

А что говорит explain для запросов, использующих этот индекс? Изменилась ли скорость запросов в лучшую сторону?
 

A-Lex[FM]

Web/Highload/DataScience
Да, скорость запросов увеличилась, но меня смущает всё таки объём файла.
Если я правильно понимаю, то индексы для таблиц MyISAM хранятся в файле с расширением MYI, за которым я и надблюдал.
И ещё одно, когда я делаю запрос для поиска новых данных всё ок, а если ищу что-то старое, то результат нулевой.
Запрос такой (конечно малость сокращённый):
SELECT *, MATCH(title, article) AGANIST('search text') AS score FROM table WHERE MATCH(title, article) AGANIST('search text')
 

Wicked

Новичок
хм... вообще, это все очень странно :)

попробуй сделать optimize table, может он доиндексирует.

за слежением за объемом индексов лучше использовать SHOW TABLE STATUS LIKE 'tbl'
 

A-Lex[FM]

Web/Highload/DataScience
Ок, спасибо. В крайнем случае просто пересоздам таблицу и из дампа верну данные :)
 

Лысый

Новичок
днйствиельно, первое что стоило попробовать - поднять из дампа
 
Сверху