SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.02.2012 20:55:36

dadli
Завсегдатай
Зарегистрирован: 16.10.2011
Сообщений: 50

составние индекси

здраствуите

например ми создали таблицу и сделали составние индекси так:
CREATE TABLE tablica (
...
INDEX(imia,vozvrast)
)


(и допустим никакие другие индекси не сделали, толко ето)

я так понимаю что такои запрос будит исползовать индекс
SELECT * FROM tablica WHERE imia = 'alex'

а такои запрос не будит исползовать индекс
SELECT * FROM tablica WHERE vozvrast= 24

ето так?

Неактивен

 

#2 02.02.2012 20:56:25

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: составние индекси

Да

Неактивен

 

#3 02.02.2012 20:59:00

dadli
Завсегдатай
Зарегистрирован: 16.10.2011
Сообщений: 50

Re: составние индекси

спасибо smile

Неактивен

 

#4 02.02.2012 21:50:21

dadli
Завсегдатай
Зарегистрирован: 16.10.2011
Сообщений: 50

Re: составние индекси

еше две вопрос родилис:

1) индекси KEY и INDEX ето синоними или есть какои либо разница между им?
2) первични ключ могут бить в таблице толко один да? однако если ми напишим  так

CREATE TABLE kluch (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY(id,name)
)

то для обе поля создается первичние ключи, как ето понимать ?

Отредактированно dadli (02.02.2012 21:52:10)

Неактивен

 

#5 02.02.2012 21:56:07

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: составние индекси

1) Если просто key, то да. Если primary key или foreign key, то нет.
Что касается разницы, то если по-простому, то primary key - он уникальный идентификатор записи. Он всегда уникальный и не может быть NULL.
2) Первичный ключ может быть только один, но он может быть на два поля, как Вы написали.
А вот например так
CREATE TABLE kluch (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY(id),
PRIMARY KEY(name)
);

нельзя.

Но можно, например, так
CREATE TABLE kluch (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY(id),
KEY(name),
KEY(id, name)
);

Отредактированно deadka (02.02.2012 21:57:35)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#6 02.02.2012 22:09:04

dadli
Завсегдатай
Зарегистрирован: 16.10.2011
Сообщений: 50

Re: составние индекси

да, я имел ввиду просто кеу

ответи понятно, спасибо

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson