Задавайте вопросы, мы ответим
Вы не зашли.
здраствуите
например ми создали таблицу и сделали составние индекси так:
CREATE TABLE tablica (
...
INDEX(imia,vozvrast)
)
(и допустим никакие другие индекси не сделали, толко ето)
я так понимаю что такои запрос будит исползовать индекс
SELECT * FROM tablica WHERE imia = 'alex'
а такои запрос не будит исползовать индекс
SELECT * FROM tablica WHERE vozvrast= 24
ето так?
Неактивен
Да
Неактивен
еше две вопрос родилис:
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)
Неактивен
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)
Неактивен
да, я имел ввиду просто кеу
ответи понятно, спасибо
Неактивен