1 / 4
文档名称:

MYSQL学习笔记-索引.doc

格式:doc   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MYSQL学习笔记-索引.doc

上传人:yzhfg888 2016/4/15 文件大小:0 KB

下载得到文件列表

MYSQL学习笔记-索引.doc

相关文档

文档介绍

文档介绍:在数据库表中,使用索引可以大大提高查询速度。 All storage engines support at least 16 indexes per table and a total index length of at least 256 bytes. Most storage engines have higher limits. 假如我们创建了一个 testIndex 表: CREATE TABLE testIndex(i_testID INT NOT NULL,vc_Name VARCHAR(16) NOT NULL); 我们随机向里面插入了 1000 条记录,其中有一条 i_testID vc_Name 555 erquan 在查找 vc_Name="erquan" 的记录 SELECT * FROM testIndex WHERE vc_Name='erquan'; 时, 如果在 vc_Name 上已经建立了索引, MySql 无须任何扫描, 即准确可找到该记录! 相反, MySql 会扫描所有记录,即要查询 1000 次啊~~ 可以索引将查询速度提高 100 倍。一、索引分单列索引和组合索引单列索引:即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引:即一个索包含多个列。二、介绍一下索引的类型 1. 普通索引。这是最基本的索引,它没有任何限制。它有以下几种创建方式: (1 )创建索引: CREATE INDEX indexName ON tableName(tableColumns(length)); 如果是 CHAR,VARCHAR 类型, length 可以小于字段实际长度; 如果是 BLOB 和 TEXT 类型,必须指定 length ,下同。(2 ) 修改表结构: ALTER tableName ADD INDEX [indexName] ON (tableColumns(length)) (3 )创建表的时候直接指定: CREATE TABLE tableName ( [...], INDEX [indexName] (tableColumns(length)) ; 2. 唯一索引。它与前面的" 普通索引" 类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式: (1 ) 创建索引: CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length)) (2 ) 修改表结构: ALTER tableName ADD UNIQUE [indexName] ON (tableColumns(length)) (3 )创建表的时候直接指定: CREATE TABLE tableName ( [...], UNIQUE [indexName] (tableColumns(length)); 3. 主键索引它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引: CREATE TABLE testIndex(i_testID INT NOT NULL AUTO_INCREMENT,vc_Name VARCHAR(16) NOT NULL,PRIMARY KEY(i_test