在osCommerce-3上工作时,我得到了category&Categories_description的表结构为
CREATE TABLE IF NOT EXISTS `osc_categories` (
`categories_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`categories_image` varchar(255) DEFAULT NULL,
`parent_id` int(10) unsigned DEFAULT NULL,
`sort_order` int(11) DEFAULT NULL,
`date_added` datetime DEFAULT NULL,
`last_modified` datetime DEFAULT NULL,
PRIMARY KEY (`categories_id`),
KEY `idx_categories_parent_id` (`parent_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
CREATE TABLE IF NOT EXISTS `osc_categories_description` (
`categories_id` int(10) unsigned NOT NULL,
`language_id` int(10) unsigned NOT NULL,
`categories_name` varchar(255) NOT NULL,
PRIMARY KEY (`categories_id`,`language_id`),
KEY `idx_categories_desc_categories_id` (`categories_id`),
KEY `idx_categories_desc_language_id` (`language_id`),
KEY `idx_categories_desc_categories_name` (`categories_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
在这里我没有索引的意思
“ idx_categories_desc_categories_id”,
“ idx_categories_desc_language_id”,
“ idx_categories_desc_categories_name”
此索引的用途是什么?
最佳答案
您提到的三个令牌
"idx_categories_desc_categories_id",
"idx_categories_desc_language_id",
"idx_categories_desc_categories_name"
只是名字-没什么特别的。可以将它们称为“ foo”,“ bar”和“ baz”,那就很好了。
它们遵循osCommerce的命名约定,即使用idx_作为索引,然后使用表名,然后使用键字段。但这仅是开发人员的约定。数据库不需要它。