Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не до конца разобрался с индексами
 
 автор: Shorr Kan   (30.05.2006 в 05:29)   письмо автору
 
 

У меня есть табличка, в ней два столбца - gid и fid ... выборка в табличке будет идти очень часто, и с условием WHERE gid='$gid' AND fid='$fid'

Насколько я понимаю, нужно сделать индекс по обоим столбцам. Общий. Я сделал. Получилось следующее:

Имя ключа: gf
Тип: INDEX
Количество элементов: Нет
Поле: gid fid

Так теперь - что? Мне нужно условие выборки исправить на какое-то другое? Или ничего больше делать не нужно?
И почему "Количество элементов" - "Нет" ? Что это за количество элементов?

   
 
 автор: cheops   (30.05.2006 в 12:22)   письмо автору
 
   для: Shorr Kan   (30.05.2006 в 05:29)
 

>Так теперь - что? Мне нужно условие выборки исправить на какое-то другое? Или ничего больше
>делать не нужно?
Вам делать ничего не нужно - MySQL сама обо всём позаботится...

>И почему "Количество элементов" - "Нет" ? Что это за количество элементов?
Почему-то не проиндексировались столбцы, оптимизируйте или почините таблицу.

   
 
 автор: Shorr Kan   (30.05.2006 в 17:02)   письмо автору
 
   для: cheops   (30.05.2006 в 12:22)
 

Так там ломаться нечему - там одна строка...

gid | fid
1 1

Индекс я создавал при создании таблицы - не после ввода данных. Это - правильно?
Так что это за "Количество элементов" ?

   
 
 автор: cheops   (30.05.2006 в 22:31)   письмо автору
 
   для: Shorr Kan   (30.05.2006 в 17:02)
 

Ломается не строка, а файл индексов. Количество элементов - это количество записей в файле индексов. Если вы пользуетесь phpMyAdmin зайдите в пункт меню "Операции" и почините или оптимизируйте таблицу.

   
 
 автор: Shorr Kan   (31.05.2006 в 03:49)   письмо автору
 
   для: cheops   (30.05.2006 в 22:31)
 

Помогло, спасибо.

   
 
 автор: Shorr Kan   (31.05.2006 в 13:24)   письмо автору
 
   для: Shorr Kan   (31.05.2006 в 03:49)
 

Если зайти в редактирование индекса (в phpmyadmin) - там есть список столбцов, входящих в индекс, и поле "Размер" напротив каждого столбца. Что это за размер?

   
 
 автор: Loki   (31.05.2006 в 13:45)   письмо автору
 
   для: Shorr Kan   (31.05.2006 в 13:24)
 

количество проиндексированных элементов.

   
 
 автор: Trianon   (31.05.2006 в 14:05)   письмо автору
 
   для: Loki   (31.05.2006 в 13:45)
 

нет. Это количесво символов, которое формирует этот столбец в индексе. Другими словами - размер той части всего поля, которая учитывается при сравнении.

   
 
 автор: Loki   (31.05.2006 в 14:18)   письмо автору
 
   для: Trianon   (31.05.2006 в 14:05)
 

а... я не про ту страницу подумал... конечно так.

   
 
 автор: Shorr Kan   (31.05.2006 в 14:59)   письмо автору
 
   для: Loki   (31.05.2006 в 14:18)
 

А если там пусто? Какое количество символов он... эээ... ?

   
 
 автор: Loki   (31.05.2006 в 16:02)   письмо автору
 
   для: Shorr Kan   (31.05.2006 в 14:59)
 

Этот параметр требуется только для текстовых полей уникального индекса. в остальных случаях он не нужен.

   
 
 автор: Shorr Kan   (31.05.2006 в 16:36)   письмо автору
 
   для: Loki   (31.05.2006 в 16:02)
 

Именно уникального? А обычный индекс? Не знаю, как его назвать... тот, который не unique и не primary.
Что если индекс по нескольким полям и одно из них - varchar ?

   
 
 автор: Loki   (31.05.2006 в 20:33)   письмо автору
 
   для: Shorr Kan   (31.05.2006 в 16:36)
 

fulltext? а ему вроде по барабану:)

   
 
 автор: Shorr Kan   (01.06.2006 в 07:46)   письмо автору
 
   для: Loki   (31.05.2006 в 20:33)
 

Нет, не fulltext ... В phpmyadmin есть:

Первичный
Индекс (вот этот!)
Уникальное
Полн.Текст.

Вот. Четыре штуки. Я говорю о втором. Не primary , не unique , не fulltext .

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования