mysql 存储引擎,字段类型,索引介绍

Posted 太空刘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 存储引擎,字段类型,索引介绍相关的知识,希望对你有一定的参考价值。

一:常用的存储引擎:
1,myisam:  
  我建立了一个MyISAM引擎的tb_Demo表,那么就会生成以下三个文件:
     1>tb_demo.frm,存储表定义;
     2>tb_demo.MYD,存储数据;
     3>tb_demo.MYI, 存储索引。
   特点: 查询快,写入慢,支持表锁,支持符合全文索引
    适合管理邮件,web服务器的日志数据,选择密集结构表的时候用,插入密集结构
   表的时候用
2,innodb
     1》更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求。
     2》事务。InnoDB存储引擎是支持事务的标准mysql存储引擎。
     3》自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。
     4》外键约束。MySQL支持外键的存储引擎只有InnoDB。
     5》支持自动增加列AUTO_INCREMENT属性。
  一般来说,如果需要事务支持,并且有较高的并发读取频率,InnoDB是不错的选择。
   特点:写入快,查询慢,自动灾难恢复,安全性高,合适大数据量,并发高,支持外键,行锁,
   支付复合索引,更新密集表,支持自动增加

二:表必须的四个字段字段:
    id   insert_time   update_time  status
三,5大索引
    1》索引:就像书的目录一样
    2》什么时候用:
    3》原理:索引会存上相应的指针,当查询某个数据的时候,他就会同过指针跳转到某个数据模块
    4》好处:提高了查询速度
    5》缺点:
      1--占用硬盘,会存上指针指向对应的内容
    2--对数据增删改受影响
    1,主键 primary  自带索引
    2,唯一 unique 手机号,用户昵称,
    3,普通  用户昵称
    4,复合(innodb支持) 靠左原则,多字段  例如:name(姓名),age(年龄) ,address(地址) select * from table where  
    ALTER TABLE mytable ADD INDEX name_age_address (name(10),age,,address);
    相当于建立了(name,age,address;name,address;name)三种查询类型
    SELECT * FROM mytable WHREE name="admin" AND  age=‘18‘ and  address="郑州"
    SELECT * FROM mytable WHREE name="admin" AND address="郑州"
    SELECT * FROM mytable WHREE name="admin"
    5,全文(myisam支持) 文章
    6,短索引
四,表的字段类型
  //整形
   1,tinyint     1字节  有子符127  ,无字符255
   2,smallint          2字节  有子符32767  无字符65535
   3,mediumint    3字节  有子符8388607          无字符16777215
   4,int        4字节   (11位数,十亿级别,如果有符号,最大存2190000000,没符号4200000000)
   5,bigint       8字节  (19位数,亿亿级别)       
   8,float                 4字节
   9,double              8字节
  //字符串
   10,char    1字节   固定长度个字符
   11,varchar        2字节  默认255,最大65535个字符
   12,tinytext          可变长度  最大255个字符
   13,text        可变长度,最大65535个字符
   14,mediumtext    可变长度,最大2的24次-1个字符
   15,longtext          可变长度,最多2的32次方-1个字符
 //时间格式
   data         3个字节  日期,格式:2014-09-18
   time                      3个字节  时间  格式:08:48:15
   datetime    8个字节  日期时间 格式 2014-09-18 08:48:15
   timestamp             4个字节  自动存储记录修改的时间
   year        1个字节   年份
五,一些常用字段用到什么数据类型
    1>user_name    varchar        
    2>tel         bigint        //占8个字节
    3>sex        char(1)/tinyint/enum    //占1个字节
    4>card        varchar(16)    //占32个字节
    5>status    tinyint        //占1个字节
    6>age        tinyint        //占1个字节
    7>is_hot    tinyint        //占1个字节
    8>时间戳    int        //占4个字节
    9>时间格式            datetime        //占8个字节
六,新闻表的字段例如:
    1>id         主键自增    int
    2>title          新闻标题    varchar(30)
    3>add_time    新闻发布时间
    4>author     作者
    5>content    文章内容 longtext
    6>keyword    关键字
    7>url        网址
    8>imges    新闻封面
    9>is_hot    是否最热
    10>is_new    是否最新
    11>is_user    是否是会员发布
    12>is_agree    是否审核
    13>stick_rank    置顶级别
    14>is_promote    是否推广
    15>is_business     是否商业推广
    16>is_header        是否头条
    17>user_id    作者id
    18>press    出版设
    19>hits_num    点击量
    20>is_comment    是否评论
    21>type    新闻类型
    22>img_ thumb   缩略图
    23>title_type_id   表题分类id
    24>status    状态
    25>update_time    修改时间
七:订单号 时间戳.user_id.用户登陆pc/app
八:表建成之后要用三范式来检查

 




































































































以上是关于mysql 存储引擎,字段类型,索引介绍的主要内容,如果未能解决你的问题,请参考以下文章

mysql存储引擎介绍,索引

MYSQL进阶之存储引擎

存储引擎介绍

存储引擎介绍

MySQL索引优化

MySQL索引优化