2013-02-14 2 views
0

от неизвестной причины:Столбец InnoDB с пометкой «using btree» почему?

CREATE TABLE `orders_products` (
    `ORDER_ID` int(10) unsigned NOT NULL, 
    `PRODUCT_ID` int(10) unsigned NOT NULL, 
    `QUANTITY` tinyint(3) unsigned NOT NULL, 
    `USER_ID` int(10) unsigned NOT NULL, 
    PRIMARY KEY (`ORDER_ID`,`PRODUCT_ID`,`USER_ID`) USING BTREE, 
    KEY `FK_orders_products_3` (`USER_ID`), 
    KEY `FK_orders_products_2` (`PRODUCT_ID`) USING BTREE, 
    CONSTRAINT `FK_orders_products_1` FOREIGN KEY (`ORDER_ID`) REFERENCES `orders` (`ID`) ON DELETE CASCADE, 
    CONSTRAINT `FK_orders_products_2` FOREIGN KEY (`PRODUCT_ID`) REFERENCES `products` (`ID`) ON DELETE CASCADE, 
    CONSTRAINT `FK_orders_products_3` FOREIGN KEY (`USER_ID`) REFERENCES `users` (`ID`) ON DELETE CASCADE 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

первичного ключ и FK_orders_products_2 получили ВТКЕЙ. Как это знать? Ни SHOW INDEX, ни ОПИСАТЬ TABLE описывает, кто с помощью ВТКЕЕ и кто не делает

+0

Все индексы InnoDB являются btrees, поэтому их маркировка особенно странно. http://dev.mysql.com/doc/refman/5.5/en/innodb-physical-structure.html – 2013-02-14 22:35:08

ответ

0

Вы можете получить информацию о ключах, используя

SHOW KEYS FROM orders_products 

Там в колонке INDEX_TYPE в этом результирующем.

+0

интересно, он показывает «btree» для всех столбцов ... хотя не все столбцы здесь btree –

Смежные вопросы