[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос по индексу mysql
Гость_Даня
Всем привет.
Возник такой вопрос по оптимизации базы.

Предистория
В тестовой базе 1 млн. строк.
В строке два поля "id" и "text"
В поле "text" я просто скриптом повставлял строку (20 рандомных букв)
Выборка идет именно по полю "text"

Вот так
SELECT * FROM `table` WHERE `text` = 'vhalwkzrpicubonymjfg'


Поле `text` НЕ проиндексировано:
Cреднее время запроса на выборку одной строки 0,2 сек.


Поле `text`проиндексировано (10 символов):
Cреднее время запроса на выборку одной строки 0.006 сек.

Все отлично! выигрыш по времени солидный.

Вопрос
После того как я добавляю новую строку в таблицу, индекс пересоздается?
Просто решил добавить несколько строк в таблицу и посмотреть изменится ли количество "Уникальных элементов" в созданом индексе. Но оно не меняется. Его что каждый раз вручную создавать нужно?



lomonosv
Насколько я знаю в Oracle индекс пересоздавать не нужно. Возможно в mySQL тоже.

Попробуйте добавить сначала немного строк, потом создать индекс, потом добавить остальные строки. И посмотрите как это скажется на времени.
inpost
Гость_Даня
Где смотрел уникальные элементы?
Запрос запускал, прежде чем глянуть?
Время подождал, прежде чем тот же PMA обновит кеш?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.