osCommerce中'idx_categories_desc_categories_name'的含义是什么?

时间:2012-04-03 17:12:04

标签: mysql oscommerce

在osCommerce-3上工作时,我获得了类别和表格的表格结构。 categories_description as

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”

这个索引有什么用。它是什么意思?

2 个答案:

答案 0 :(得分:1)

为括号中指定的表(categories_id,language_id,categories_name)创建这三个索引。 KEY关键字是INDEX关键字的同义词。它背后没有特别的魔力。

我猜这三个索引用于加速这些表上的数据检索/排序操作。

索引“idx_categories_desc_categories_id”是冗余的,“categories_id”已经被主键上的复合索引的左侧部分覆盖。

答案 1 :(得分:1)

你提到的三个代币

"idx_categories_desc_categories_id",

"idx_categories_desc_language_id",

"idx_categories_desc_categories_name"

只是名字 - 他们没什么特别的。他们可以被称为“foo”,“bar”和“baz”,这本来就没问题。

他们遵守使用idx_索引的osCommerce命名约定,然后是表的名称,然后是关键字段。但这只是开发者的惯例;它不是数据库所必需的。