《高性能MySQL》笔记-BLOB与TEXT】的更多相关文章

BLOB和TEXT都是为存储很大的数据而设计的字符串数据类型,分别采用二进制和字符方式存储. 实际上,它们分别属于两组不同的数据类型家族: 字符类型是TINYTEXT,SMALLTEXT,TEXT,MEDIUMTEXT,LONGTEXT:对应的二进制类型是TINYBLOB,SMALLBLOB,BLOB,MEDIUMBLOB,LONGBLOB.BLOB是SMALLBOLB的同义词,TEXT是SMALLTEXT的同义词. 与其他类型不同,MySQL把每个BLOB和TEXT值当做一个独立的对象处理.存…
1.1 MySQL逻辑架构 MySql服务器逻辑架构图 1.连接管理与安全性 每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或者CPU中运行.服务器会负责缓存线程,因此不需要为每一个新建的连接创建或者销毁线程. 当客户端(应用)连接到MySQL服务器时,服务器需要对其进行认证.认证基于用户名.原始主机信息和密码.一旦客户端连接成功,服务器会继续验证该客户端是否具有执行某个特定查询的权限. 2.优化与执行 MySql会解析查询…
BLOB是一个二进制大对象,可以容纳可变数量的数据.有4种BLOB类型:TINYBLOB.BLOB.MEDIUMBLOB和LONGBLOB.它们只是可容纳值的最大长度不同. 有4种TEXT类型:TINYTEXT.TEXT.MEDIUMTEXT和LONGTEXT.这些对应4种BLOB类型,有相同的最大长度和存储需求. BLOB 列被视为二进制字符串(字节字符串).TEXT列被视为非二进制字符串(字符字符串). BLOB列没有字符集,并且排序和比较基于列值字节的数值值.TEXT列有一个字符集,并且根…
BLOB是一个二进制大对象,可以容纳可变数量的数据.有4种BLOB类型:TINYBLOB.BLOB.MEDIUMBLOB和LONGBLOB.它们只是可容纳值的最大长度不同. 有4种TEXT类型:TINYTEXT.TEXT.MEDIUMTEXT和LONGTEXT.这些对应4种BLOB类型,有相同的最大长度和存储需求. BLOB 列被视为二进制字符串(字节字符串).TEXT列被视为非二进制字符串(字符字符串).BLOB列没有字符集,并且排序和比较基于列值字节的数值值.TEXT列有一个字符集,并且根据…
4.1 选择优化的数据类型   通用原则   更小的通常更好   前提是要确保没有低估需要存储的值范围:因为它占用更少的磁盘.内存.CPU缓存,并且处理时需要的CPU周期也更少.   简单就好   简单数据类型的操作需要更少的CPU周期.   尽量避免NULL   值可为NULL的列使得索引.索引统计和值比较都更复杂化.可为NULL的列会使用更多的存储空间.   整数类型   TINYINT SMALLINT MEDIUMINT INT BIGINT.分别使用8,16,24,32,64位存储空间…
6.1 为什么查询速度会慢   查询的生命周期大致可按照顺序来看:从客户端,到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端.其中“执行”可以认为是整个生命周期中最重要的阶段.这其中包括了大量为了检索数据到存储引擎的调用以及调用后的数据处理,包括排序.分组等.   在完成这些任务时,查询需要在不同的地方花费时间,包括网络.CPU计算.生成统计信息和执行计划.锁等待等操作,尤其是向底层存储引擎检索数据的调用操作,这些调用需要在内存操作.CPU操作和内存不足时导致的IO操作上…
索引(index),在MySQL中也被叫做键(key),是存储引擎用于快速找到记录的一种数据结构.索引优化是对查询性能优化最有效的手段.   5.1 索引基础   索引的类型   索引是在存储引擎层而不是服务器层实现的.所以,并没有统一的索引标准:   B-Tree 索引   不同的存储引擎以不同的方式使用B-Tree索引,性能也各有不同:例如,MyISAM使用前缀压缩技术使得索引更小,而InnoDB则按照原数据格式进行存储.再如MyISAM索引通过数据的物理位置引用被索引的行,而InooDB则…
index优化 对于频繁作为查询条件的字段使用索引 注意索引字段类型的隐式转换,数据库类型和应用类型要一致 索引的种类 唯一索引,成为索引的列不能重复 单列索引,一个索引只包含一列 单列前缀索引,有些列较长,不宜使用全长作为索引,可以截取列前面一部分作为索引 复合索引(某几列也可以是前缀索引),一个索引包含几个列,复合索引满足最左匹配原则 几个名称 聚簇索引 innodb默认会创建聚簇索引(使用主键聚集数据:如果没有主键,innodb选择一个唯一的非空索引替代:如果没有索引innodb隐式定义一…
一. 1.什么是B-Tree indexes? The general idea of a B-Tree is that all the values are stored in order, and each leaf page is the same distance from the root. A B-Tree index speeds up data access because the storage engine doesn’t have to scan the whole tab…
MySQL 最重要.最与众不同的特性是他的存储引擎架构,这种架构的设计将查询处理(Query Precessing)及其系统任务(Server Task)和数据的存储/提取相分离.   1.1 MySQL 逻辑架构   基础服务层   第一层构架 :包含连接处理.授权认证.安全等基础服务功能:   核心服务层   第二层构架 :包含查询解析.分析.优化(包括重写查询.决定表的读取顺序.选择合适的索引等).缓存以及内置函数,所有跨存储引擎的功能也在这一层实现:存储过程.触发器.视图等:   存储引…