Задавайте вопросы, мы ответим
Вы не зашли.
Люди знающие расскажите что я делаю не так
Есть табличка к примеру
CREATE TABLE IF NOT EXISTS `test`.`client` (
`id` INT(11) NOT NULL AUTO_INCREMENT ,
`passport_id` INT(11) NOT NULL ,
`fio` VARCHAR(255) NOT NULL ,
PRIMARY KEY (`id`) ,
INDEX `passport_id` (`passport_id` ASC) ,
CONSTRAINT `table1_ibfk_1`
FOREIGN KEY (`passport_id` )
REFERENCES `hvo_main`.`table2` (`id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
CREATE TABLE IF NOT EXISTS `test`.`passport` (
`id` INT(11) NOT NULL AUTO_INCREMENT ,
`passport_num` VARCHAR(20) NOT NULL ,
`vidan` VARCHAR(50) NOT NULL ,
PRIMARY KEY (`id`) ,
INDEX `passport_num` (`passport_num` ASC, `vidan` ASC) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
Данных сразу говорю много
Делаю запрос
SELECT client.fio, passport.passport_num FROM client LEFT JOIN passport ON passport.id = client.passport_id ORDER BY passport_num
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE client ALL NULL NULL NULL NULL 1 Using temporary; Using filesort
1 SIMPLE passport eq_ref PRIMARY PRIMARY 4 hvo_test.client.passport_id 1
Так вот если данных очень много и нужно еще джоинить около 10 разных таблиц, то тормоза неимоверные, но только если есть ORDER BY
без WHERE и ORDER BY все летает
Неактивен