在MySQL设计索引与使用索引

索引是数据库中用来提升性能最常用的工具。MySQL 5.0支持索引类型,而索引一般更多的使用在数据库优化上。首先所有的MYSQL列类型都可以被索引,对相关的列使用索引是提高SELECT操作性能最佳途径。目前存储索引表默认创建的都是BTREE索引,目前不支持函数索引。目前MYSQL对全文索引做的并不是太好,只支持几种类型(CHAR,VARCHAR,TEXT)。

为user表创建一个10个字节的前缀索引:

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING INDEX_TYPE] ON table_name(index_col_name,...)

index_col_name:col_name[(length) [ASC|DESC]]

如:
CREATE INDEX userName ON user (user(10));


删除索引语法:
DROP index_name ON table_name;


如:
DROP INDEX userName ON user;


[quote]如果不使用索引,那么在MYSQL中必须从第1条记录开始然后读完整个表直到找出相关的行。这样一来,当表越大,表里的字段越多时,花费的时间就越多,如果表中的列有一个索引,那么MYSQL直接去索引中查找,没有必要查看所有的数据。

当然,在设计索引时也必须注意一些地方,设计索引有一定的原则。这样可以使得索引更快,更高效。

1,一般来说,索引列是经常被WHERE的列。
2,使用唯一索引。一般来说,如果对性别进行索引,因为性别一般只有2个,男与女,所以对性别做索引不会起到非常好的效果。
3,索引要更短。如果一个CHAR(100),最好对其前10到20个字符内进行索引。
4,不要过度索引,一般在性能比较低下的地方进行索引。而且索引太多,不容易优化。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值