За последние 24 часа нас посетили 35494 программиста и 1818 роботов. Сейчас ищет 831 программист ...

INDEX в чем суть?

Тема в разделе "MySQL", создана пользователем Ximik, 18 май 2007.

  1. Ximik

    Ximik Активный пользователь

    С нами с:
    22 фев 2007
    Сообщения:
    108
    Симпатии:
    0
    Собсно понимаю, что вопрос ужасно тупой, но все таки. Какие преимущества дает флаг INDEX для поля в мускуле?
     
  2. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Всё просто, INDEX хранится в оперативной памяти и выборка (сортировка) по "проиндексированному" полю делается в ХХХ раз быстрее чем по простому...

    (для большенства случаев это не имеет большого значения, но в серьёзно нагруженных проектах может сильно снизить "тормоза")
     
  3. Ximik

    Ximik Активный пользователь

    С нами с:
    22 фев 2007
    Сообщения:
    108
    Симпатии:
    0
    Ага ну я в общем то так и думал, но на всякий случай... Спасибо, что убедил меня, что я не совсем тупой :)
    Да, еще вопрос, чтобы тему не создавать лишнюю. Так вот есть запрос. INSERT там то-то, то-то. И создается новая запись. Там есть поле id - первичный ключ. Вот ведь вопрос. Как узнать поле с каким ключом только что создалось? Нет можно конечно просто найти максимальное значение id. Но если между INSERT и этой операцией произошел в другом скрипте еще INSERT. Что посоветуете?
    Стандартную функцию пхп юзать не хочу. Ибо БД может быть не мускул. Можно ли в SQL как то?
     
  4. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    и осуществляется не перебором, а намного быстрее. Можно считать что мгновенно по сравнению с перебором.
    PHP:
    1. function last_insert_id() {
    2. return mysql_insert_id();
    3. }
    в случае смены базы заменить надо будет одну строчку во всем проекте.
    Но вообще-то врядли выйдет полностью абстрагироваться от типа базы. Этот конкретный пример решатся просто автозаменой, а вот запросы будут отличаться.
     
  5. Ximik

    Ximik Активный пользователь

    С нами с:
    22 фев 2007
    Сообщения:
    108
    Симпатии:
    0
    гм Ну поставлю я всем полям INDEX. Наверняка же я что то теряю при этом. Что? Место на диске?
     
  6. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Ximik
    Место на диске + все операции добавления/редактирования/удаления становятся чуть-чуть, но тормознее.
     
  7. Ximik

    Ximik Активный пользователь

    С нами с:
    22 фев 2007
    Сообщения:
    108
    Симпатии:
    0
    Ясно. Буду пробовать. Спасиб.