博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql的存储引擎类型和索引类型
阅读量:3557 次
发布时间:2019-05-20

本文共 950 字,大约阅读时间需要 3 分钟。

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 也可以

转载地址:http://fxdrj.baihongyu.com/

你可能感兴趣的文章
Druid的Web页面使用
查看>>
Scala-HelloWorld
查看>>
Scala-IDEA中环境部署
查看>>
Scala-HelloWorld解析
查看>>
Scala-变量和数据类型
查看>>
Scala-流程控制
查看>>
Scala-面向对象后章
查看>>
iOS蓝牙原生封装,助力智能硬件开发
查看>>
iOS 代码的Taste(品位)
查看>>
iOS开发代码规范
查看>>
iOS组件化实践(基于CocoaPods)
查看>>
【iOS学习】RxSwift从零入手 - 介绍
查看>>
数据结构之栈
查看>>
Elastic Stack简介
查看>>
关于deepin系统安装design compiler的问题解答
查看>>
Java Agent简介及使用Byte Buddy和AspectJ LTW监控方法执行耗时
查看>>
记录一下最近的学习经历
查看>>
hadoop3.0+spark2.0两台云服务器集群环境配置。
查看>>
网站实现qq登录(springboot后台)
查看>>
简单的用户头像修改功能(springboot后台)
查看>>