mysql索引建立的策略_mysql索引设计策略

中索引的设计和使用

下面讨论下

MySQL5.0

中的索引的设计和使用。任何东西设计的好,那么使

用起来就顺手。

不过很多时候给出设计什么规则这些都是相对的。

做任何的事情,

最重要的是能否根据当时情况就合理的调整你的设计。

如果你只会看着书本或者

权威来死套什么设计理念来进行实际的开发和设计的话,

那么我请你还是少读书

为妙。

索引是数据库中用来

提高性能

的常用工具。

(注意如果要优化数据库的性能,

是一个点)。

所有

MySQL

列类型都可以被索引,对相关列使用索引是提高

SELECT

操作性能

的最佳途径。

根据存储引擎可以定义每个表的最大索引数和最大索引长度,

每种

存储引擎

(MyISAM

InnoDB

BDB

MEMORY

)

对每个表至少支持

16

个索引,总

索引长度至少为

256

字节。大多数存储引擎有更高的限制。

MyISAM

InnoDB

存储引擎的表默认创建的都是

BTREE

索引。

MySQL

目前还不

支持函数索引,

但是支持前缀索引,

即对索引字段的前

N

个字符创建索引。

前缀

索引的长度跟存储引擎相关,对于

MyISAM

存储引擎的表,索引的前缀长度可以

达到

1000

字节长,而对于

Inn0DB

存储引擎的表,索引的前缀长度最长是

767

字节。请注意前缀的限制应以字节为单位进行测量,而

CREATE TABLE

语句中的

前缀长度解释为字符数。

在为使用多字节字符集的列指定前缀长度时一定要加以

考虑。

MySQL

中还支持全文本索引(

FULLTEXT

),该索引可以用于全文搜索。但是在

Mysql5.0

中只有

MyISAM

存储引擎支持全文本索引,并且仅仅局限于

CHAR

VARCHAR

TEXT

列。索引总是对整个列进行的,不支持局部索引。也可以为空

间类型创建索引,但是只要

MyISAM

存储引擎支持空间类型索引,而且索引的字

段必须是非空。

创建索引的语法如下:

引用

CREATE [UNIQUE | FULLTEXT | SPATIAL] IDEX index_name

[USING index_type]

ON tb1_name (index_col_name,....)

index_col_name:

col_name [(length)][ASC | DESC]

索引的创建可以在创建表的时候就创建,也可以随时增加新的索引。

下面给出一个例子:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值