У меня есть таблица со следующей схемой:ПОВЫШЕНИЕ таблицы MYSQL Performance
CREATE TABLE `type_interests` (
`id` int(11) NOT NULL,
`interest_id` int(11) NOT NULL,
`type_id` int(11) NOT NULL,
`type` varchar(64) NOT NULL,
`status` varchar(64) NOT NULL,
`created_date` datetime NOT NULL,
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`notes` varchar(64) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `type_interests`
ADD PRIMARY KEY (`id`),
ADD KEY `interest_id` (`interest_id`,`type_id`),
ADD KEY `interest_id_2` (`interest_id`);
ALTER TABLE `type_interests`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=31415;
ALTER TABLE `type_interests`
ADD CONSTRAINT `type_interests_ibfk_1` FOREIGN KEY (`interest_id`) REFERENCES `interests` (`id`);
И у меня есть только около 30 000 записей в базе данных, но все запросы, которые используют эту таблицу потребляет много времени, это дизайн проблема? обратите внимание, что type_id привязан к нескольким таблицам.
Можете ли вы показать нам запросов/запросы которые занимают много времени? Сверху моей головы, возможно, вы не используете никаких индексов. –
Я думаю, что SHOW CREATE TABLE покажет таблицу более элегантно – Strawberry
Я добавил индекс ('type', 'type_id'), и он решил проблему –