Table (InnoDB):Mysql оптимизация индекса покрытия
CREATE TABLE `product_category` (
`product_id` int(11),
`category_id` int(11),
PRIMARY KEY (`product_id`,`category_id`),
UNIQUE KEY `category_id` (`category_id`,`product_id`)
)
мне нужно запускать запросы последующих SQL в моем проекте:
1. select `category_id` from `product_category` where `product_id`=?
2. select `product_id` from `product_category` where `category_id`=?
я создаю PRIMARY KEY(product_id,category_id)
для SQL запроса 1
и создание UNIQUE(category_id,product_id)
KEY для SQL-запроса 2
Я хочу знать это правильно?
любая другая оптимизация возможна?
Большое спасибо
'category_id' может быть обычным индексом btree (' category_id') без дополнительного уникального ограничения, столбцы PK неявно добавляются к ключу. – newtover