mysql的存储引擎类型和索引类型

mysql的存储引擎,常用的有innodbmyisam

innodb支持外键,事务,行锁,安全性更高,写入快查询慢,适合大数据量

myisam查询快写入慢,支持全文索引,表锁(MyISAM同一个表上的读锁和写锁是互斥的,容易阻塞),

(myisam一个table实际保存为三个文件,.frm存储表定义,.MYD存储数据,.MYI存储索引)

(表锁是把整个表锁住,不能写,行锁只是锁住一行,这样安全性更高,,InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQLOracle不同,后者是通过在数据块中对相应数据行加锁来实现的)

还有heap 存在于内存的临时表


mysql的索引有

primary主键索引 唯一且不能为空

index索引 普通的(CREATE INDEX索引的名字 ON tablename (列名1,列名2,...);

unique唯一索引 不允许有重复(CREATE UNIQUE INDEX索引的名字 ON tablename (列的列表);

fulltext 全文索引 用于在一大串文本中进行搜索,(不支持中文分词,CREATE fulltext INDEX index_name ON table_name(colum_name);

复合索引 可在多个字段上建立索引,比如INDEX(A, B, C)可以当做A(A, B)的索引来使用,但不能当做BC(B, C)的索引来使用

 

举个例子来说,比如你在为某商场做一个会员卡的系统。

这个系统有一个会员表

有下列字段:

会员编号   INT

会员姓名   VARCHAR(10)

会员身份证号码   VARCHAR(18)

会员电话   VARCHAR(10)

会员住址   VARCHAR(50)

会员备注信息  TEXT

 

那么这个 会员编号,作为主键,使用 PRIMARY

会员姓名 如果要建索引的话,那么就是普通的 INDEX

会员身份证号码   如果要建索引的话,那么可以选择 UNIQUE (唯一的,不允许重复)

会员备注信息 , 如果需要建索引的话,可以选择 FULLTEXT,全文搜索。

 

不过 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。

用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值