Blogger Information
Blog 5
fans 0
comment 0
visits 6784
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
MySQL基础知识
王志强
Original
1275 people have browsed it

### 数据表引擎

一.数据表引擎类型:innodb、MyISAM、CSV、Memory、Archive、Blockhole.
主流引擎innodb与MyISAM之间区别、联系

  1. innodb
    默认事务型引擎
    数据存储再共享表空间,可通过配置分开
    对主键查询的性能高于其他类型的存储引擎
    内部优化,从磁盘读取数据时自动在内存构建hash索引,插入数据时自动构建插入缓冲区
    通过一些机制和工具支持真正的热备份支持崩溃后的安全恢复,支持行级锁,支持外键。
  2. MyISAM
    5.1版本默认引擎
    又有全文索引、压缩、空间函数
    不支持事务,行级锁,不支持崩溃后安全恢复
    表存储在俩个文件(myd和myi)
    设计简单,某些场景下性能很好

二、char与varchar区别与联系

1.char
是定长的,根据定义的字符串长度分配足量空间,根据需要采用空格进行填充方便比较,适合存储很短的字符串或者所有值都设置同一个长度,长度超过设定的长度,会被截断。
2.varchar
用户存储可变长字符串,比定长类型更加节省空间
使用一个或者俩个额外字节记录字符串的长度,列长度小于255字节用一个字节表示,否者俩个
长度超过设定的长度,会被截断
3.联系
对于经常变更的数据,char比varchar更好,char不容易产生碎片
对于非常短的列,char比varchar在存储空间上更有效率
只分配真正需要的空间,更长的列会消耗更多的内存

三、索引

1.优点
大大减少服务器需要扫描的数据量
帮助服务器避免排序和临时表
将随机I/O变顺序I/O
大大提高查询速度,降低写的速度,占用磁盘空间

2.索引类型
普通索引
主键索引
唯一索引
组合索引
外键索引
全文索引
3.索引创建原则
最适合索引的列是出现在where子句的列,或者连接子句中的列,而不是出现在select的关键字后的列
索引列的基数越大,索引效果越好
对字符串进行索引,应指定一个前缀长度,可以节省大量的索引空间
根据情况创建复合索引,复合索引可以提高查询效率
避免创建过多索引,索引会额外占用磁盘空间,减低写操作效率
主键尽可能选择较短的数据类型,可以有效减少索引的磁盘占用,提高效率
4.索引注意实现
复合索引遵循前缀原则
like查询%不能在前,可以使用全文索引
column is null 可以使用索引
如果估计使用索引比全表扫描更慢,放弃使用索引。

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post