在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_作为索引,然后使用表名,然后使用键字段。但这仅是开发人员的约定。数据库不需要它。

10-06 03:41