索引的基础概念索引类似于书籍的目录,要想找到一本书的某个特定主题,需要先查找书的目录,定位对应的页码:存储引擎使用类似的方式进行数据查询,先去索引当中找到对应的值,然后根据匹配的索引找到对应的数据行 索引对性能的影响大大减少服务器需要扫描的数据量.帮助服务器避免排序和临时表.将随机I/O变成顺序I/O.大大提高查询速度,读写降低写的速度(读写操作会操作索引)并且占用磁盘开销(索引也是数据) 索引的类型普通索引:最基本的索引,没有任何约束限制唯一索引:与普通索引类似,但是具有唯一性索引主键索引:特…
1. MySQL中的数据库分类        2. MySQL中的存储引擎 MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能. MyISAM:拥有较高的插入,查询速度,但不支持事务,不支持外键. InnoDB:支持事务,支持外键,支持行级锁定,性能较低.InnoDB 存储引擎提供了具有提交.回滚和崩溃恢复能力的事务安全…
一.前言 在MySQL中进行SQL优化的时候,经常会在一些情况下,对MySQL能否利用索引有一些迷惑. 譬如: MySQL 在遇到范围查询条件的时候就停止匹配了,那么到底是哪些范围条件? MySQL 在LIKE进行模糊匹配的时候又是如何利用索引的呢? MySQL 到底在怎么样的情况下能够利用索引进行排序? 今天,我将会用一个模型,把这些问题都一一解答,让你对MySQL索引的使用不再畏惧 二.知识补充 key_len EXPLAIN执行计划中有一列 key_len 用于表示本次查询中,所选择的索引…
储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 – 1) 个字符. TEXT 最大长度是 65535 (2^16 – 1) 个字符. MEDIUMTEXT 最大长度是 16777215 (2^24 – 1) 个字符. LONGTEXT 最大长度是 4294967295 (2^32 – 1) 个字符 Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节Varchar …
MySQL中支持生成列,生成列的值是根据列定义中包含的表达式计算的. 一个简单的例子来认识生成列! CREATE TABLE triangle( sidea DOUBLE, sideb DOUBLE, sidec DOUBLE AS (SQRT(sidea * sidea + sideb * sideb)) ); ,),(,),(,); mysql> select * from triangle; #插入数值的时候并没有插入c的值,但是查询的时候,还是有了c值 +-------+-------+…
MySQL列类型的作用: 列类型可以简单理解为用来对用户往列种存储数据时做某种范围"限定",它可以定义数据的有效值(字符.数字等).所能占据的最大存储空间.字符长度(定长或变长).是否能够被索引.如何被索引及如何排序等.在关系型数据库系统中,为了实现数据的易于管理,必须为表字段(列)指定对应的列类型.MySQL的列类型可以分为4类:字符型.数值型.日期及时间型.自有类型. 字符型: 字符型限定值只能为字符,MySQL的字符类型如下: 类型 最大字符长度 名称及特性 定长字符串,区分大小…
整形列: 一个字节有8个位,例如:int 类型的列存入数字1,00000000 00000000 00000000 00000001它就在最低位置上存入一个1,由此可见是极大的浪费资源,所以在建立列类型的时候,依实际情况而定. 整型列的可选属性有: unsigned 非负 zerofill 零填充 (M)M表示固定宽度,它主要用于学号编码等,可以用0填至固定宽度.注意:有零填充的列数据库默认为unsigned,即非负. 例如:存入当前列数字1,固定宽度设置5,则存入数据库的数据显示为00001…
1.MySQL建立索引时假设没有限制索引的大小,索引长度会默认採用的该字段的长度.也就是说varchar(20)和varchar(255)相应的索引长度分别为20*3(utf-8)(+2+1),255*3(utf-8)(+2+1).当中"+2"用来存储长度信息,"+1"用来标记是否为空.载入索引信息时用varchar(255)类型会占用很多其它的内存: (备注:当字段定义为非空的时候.是否为空的标记将不占用字节) 比如.測试sql(InnoDB引擎)例如以下: CR…
mysql三大列类型 整型 tinyint(占据空间:1个字节 存储范围  有符号  -128-127   无符号  0-255) smallint   mediumint    int    bigint 小数型 float(M,D)   浮点型 decimal(M,D)  定点型  M 叫做"精度"----->代表"总位数"  而D是"标度"------>代表小数位(即小数点右边的位数)  浮点数占多大的空间呢? 答: float…
mysql列类型:整型   http://blog.csdn.net/jk110333/article/details/9342283 mysql列类型--时间和日期  http://blog.csdn.net/jk110333/article/details/9342319 ·         CHAR 这是CHAR(1)的同义词. ·         [NATIONAL] VARCHAR(M) [BINARY] 变长字符串.M 表示最大列长度.M的范围是0到65,535.(VARCHAR的最…