SQL CREATE INDEX 语句

CREATE INDEX 语句用于在表中创建索引。

在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。

索引

您可以在表中创建索引,以便更加快速高效地查询数据。

用户无法看到索引,它们只能被用来加速搜索/查询。

注释:更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。

SQL CREATE INDEX 语法

在表上创建一个简单的索引。允许使用重复的值:

CREATE INDEX index_name
ON table_name (column_name)

SQL CREATE UNIQUE INDEX 语法

在表上创建一个唯一的索引。不允许使用重复的值:唯一的索引意味着两个行不能拥有相同的索引值。Creates a unique index on a table. Duplicate values are not allowed:

CREATE UNIQUE INDEX index_name
ON table_name (column_name)

注释:用于创建索引的语法在不同的数据库中不一样。因此,检查您的数据库中创建索引的语法。

CREATE INDEX 实例

-- ----------------------------
-- 新闻分类表
-- ----------------------------
CREATE TABLE IF NOT EXISTS pangugle_news_category (
  category_id           int(11) NOT NULL AUTO_INCREMENT,
  category_title        varchar(50) NOT NULL DEFAULT '',
  category_desc         varchar(255) NOT NULL DEFAULT '',
  category_createtime   datetime NOT NULL ,
  category_admin				varchar(50) NOT NULL DEFAULT '',
  PRIMARY KEY (category_id),
  INDEX pangugle_news_category_createtime(category_createtime),
  INDEX pangugle_news_category_admin(category_admin),
) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci;

如果需要添加 唯一索引

UNIQUE INDEX pangugle_news_category_title(category_title),

也可以添加联合索引

INDEX pangugle_news_category_title_desc(category_title, category_desc),

注意索引 的名称,索引字段顺序

如果在查询时,

select * from pangugle_news_category
where category_title = 'xxx' and category_desc = 'xxx'

字段顺序一定要和索引字段一致,或着就不走索引了