[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: столбци с индексами (primary key, unique ...)
dadli
приветствую

не понимаю как работают индекси (primary key, unique ...)? знаю что Ускоряет работу (поиск) мускл'а, но именно как ето происходит?
не понимаю как происходит поиск со столбцам, у которого нет индекс и со столбцам у которого есть индекс?


вот я скажу вам пример, как я понимаю работу мускл со столбцам, у которого пока нет индекс, и если я не прав исправите пожалуиста


вот допустим в таблице "mytable" есть столбец "autos" с такими значенями: (етаму столбцу пока нет никакои индекс)


autos
-----
bmv
maybach
ferrari
hyundai
ford
mercedes
audi

и есть такои запрос:

SELECT * FROM mytable WHERE autos = 'mercedes'


как искает мускл нужное строку? я думаю что так: сначала он сравнивает первое символ искаемово слова (тоест "m" из mercedes) с первим сомволом первого строка, (тоест "b" из bmv)
если нет совпадение, строка игнорируется, и мускл сравнивает уже "m" с первим сомволом втарого строка (тоест "m" из maybach)
если совпадение есть, потом происходит сравнение втароих символов, если втарие символи не совпадается строка игнорируется и мускл подаидиот на третьим строку.... и так далее пока не будит полное совпадение.

ето так?
так происходит поиск (со столбцам без индекса) или я бред говарю, скажите пожалуиста если конечно поняли что я написал :)



Спустя 8 минут, 37 секунд (11.10.2011 - 13:37) m4a1fox написал(а):
Он сравнивает строку полностью а не по символам! А primary key в таблице - необходим! Так же как и auto_increment к нему. Это основы основ! Учи мат.часть.

Спустя 9 часов, 40 минут, 10 секунд (11.10.2011 - 23:17) dadli написал(а):
прямо суда, не почитаите первого сообешение, он хлам smile.gif
m4a1fox
принимаю твои совет и решил читать матчаст, из документации ничего не понял об етом теме sad.gif и если ктонибуд знает, советуите пожалуиста хорошую книгу (по руском) о проектированние баз данних, особенно хочу чтоб било подробное обзор о етом теме (о индексах), напишите названя такого книга если знаете.

и кстати,
автори: Шварц Б., Зайцев П., Ткаченко В. и др.
название: MySQL. Оптимизация производительности

если ктонибуд читал, насколко хорошая ето книга?
советуите его читать?

Спустя 7 минут, 23 секунды (11.10.2011 - 23:25) imbalance_hero написал(а):
dadli
Вот есть БД, у тебя всегда будет primary_key, по нему будет создана БД:
1 - "армагеддон"
2 - "банана бомб"
3 - "осёл"
4 - "жук"
5 - "якубович"

Теперь мы хотим сделать выборку не по ID, а по имени, то он проходит всю БД, ищет нужную запись. Новый индекс - это своего рода отдельный список по ключам, итого мы получим:
А_
1 - "армагеддон"
Б_
2 - "банана бомб"
Ж
4 - "жук"
О_
3 - "осёл"
Я_
5 - "якубович"

Мы сделали индекс, теперь получились как бы закладки в книге, при этом данных стало больше, БД стала гораздо больше весить(!).

Итак, ты делаешь поиск по букве Ж, он теперь не проходит ВСЮ БД, а только раздел Ж, так как буква Ж, в данном случае мы получим при объеме БД в миллион записей поиск всего по 10-20 тыс., что будет в десятки, ато и тысячи раз быстрее.

Отличия различных индексов - ну тут уже загляни в учебник, там подробнее распишут, в чём разница между unique, и index.

Спустя 9 минут, 36 секунд (11.10.2011 - 23:34) dadli написал(а):
ну если чесно, я не ожидал, что кто-нибуд дал такои прекрасни ответ о маиом не совсем понятном вопросе. smile.gif
imbalance_hero соасибо вам огромное !


_____________


когда чарли чаплин принимал участие в конкурсе: "клон чарли чаплинов", то чарли занимал третю позицию.

Быстрый ответ:

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