powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / EXPLAIN по двум таблицам
4 сообщений из 4, страница 1 из 1
EXPLAIN по двум таблицам
    #39198885
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет еще раз
залил я данные из xml-базы в mysql innodb
пока получилось две таблицы: authors и books
на авторах составной ключ
Код: sql
1.
PRIMARY KEY( `id_athr`, `last_name`(25))


в книгах составной ключ
Код: sql
1.
ADD PRIMARY KEY (`id_bk`, `name`(50))


форейжн из книг на авторов
Код: sql
1.
2.
3.
ALTER TABLE `books` ADD FOREIGN KEY (`id_athr`) REFERENCES `authors`(`id_athr`)
ON UPDATE CASCADE
ON DELETE RESTRICT;



делаю запрос с эксплейном
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
EXPLAIN SELECT 
    COUNT(*) as 'count', 
    `books`.`id_athr` AS 'id_auth',
    `authors`.`last_name` AS 'author_name',
    `authors`.`first_name` AS 'author_family'
FROM `books` LEFT JOIN `authors`
    ON `books`.`id_athr` = `authors`.`id_athr`
WHERE `authors`.`first_name` != 'Литагент' 
    AND `authors`.`first_name` != ''
GROUP BY `author_name`
ORDER BY `count` DESC;



получаю это =


помогите проанализировать...
...
Рейтинг: 0 / 0
EXPLAIN по двум таблицам
    #39198890
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в таблице авторов = 4 642 записи
в таблице книг = 32 696 записи
...
Рейтинг: 0 / 0
EXPLAIN по двум таблицам
    #39198899
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Какой смысл добавления имени в ПЕРВИЧНЫЙ ключ? если надо (нахрена?) - создай дополнительный уникальный индекс, и в него уже напихивай что надо...
2) Не называй индексы так же, как поля - путаться будешь. Используй, скажем, доп. префикс...
3) Условие связывания таблиц не соответствует индексу, соответствующая префиксная часть мала, а сам индекс непокрывающий. Само собой, он не будет использоваться.
...
Рейтинг: 0 / 0
EXPLAIN по двум таблицам
    #39198907
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaУсловие связывания таблиц не соответствует индексу, соответствующая префиксная часть мала, а сам индекс непокрывающий
а можно вот это поподробнее разжевать?
1. условие связывания таблиц не соответствует индексу
2. префиксная часть мала
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / EXPLAIN по двум таблицам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]