
数据库
文章平均质量分 71
panyyer
Hello world
展开
-
MyISAM和InnoDB的区别
Mysql最常用的存储引擎就是MyISAM和InnoDB了,首先说一下Mysql支持的索引结构有BTree 索引, Hash 索引, FULLTEXT索引和 RTree 索引,而Mysql的索引类型有主键索引、唯一索引、普通索引、全文索引、组合索引,索引结构和索引类型是有区别的。(一)两者主要区别:1,使用的索引:MyISAM和InnoDB的索引都是使用B+树组织的,其次MyISA原创 2017-03-29 18:37:43 · 295 阅读 · 0 评论 -
Mysql索引注意事项
这里主要讨论的问题是Mysql索引在什么情况下会失效。要讨论这个问题的前提是:确定索引的组织结构,不同结构的索引,失效方式,支持方式是不一样的。此外,索引是通过牺牲存储空间和增删效率来提高查询效率的。1、索引不会包含有NULL值的列只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库设计时不要让字段的默认值为NUL原创 2017-04-08 23:25:18 · 467 阅读 · 0 评论 -
B-Tree作为索引能够提高查询效率的原理
要说明这个原理,首先要知道局部性原理:当一个数据被用到时,其附近的数据也通常会马上被使用。程序运行期间所需要的数据通常比较集中。有了局部性原理,操作系统磁盘的访问方式就改变了,访问数据的时候不是一个字节一个字节地读出来,而是一次读出一个页(一般为4k或8k)的数据,这些数据是物理相邻的,这就是由局部性原理引申出的磁盘预读。B-Tree作为索引(mysql在实现上实际是B+-原创 2017-04-08 23:26:20 · 2867 阅读 · 0 评论 -
Mysql InnoDB 比 MyISAM 更节省空间 ?
存储引擎 InnoDB 存储相同的数据需要的空间比 MyISAM 大,这是大家都知道的,因为MyISAM对数据进行了压缩。但是今天我看到了一个奇怪的现象,相同的表,相同的数据,InnoDB占用的存储空间比MyISAM竟然要小。创建一个表CREATE TABLE `zf1` (`id` int(11) NOT NULL,`c` char(120) NOT NULL原创 2017-04-10 11:15:22 · 1843 阅读 · 0 评论 -
Mysql 各种索引的介绍
Mysql索引类型分为主键索引、唯一索引、普通索引、全文索引、组合索引。(1)普通索引(Index):最基本的索引,它没有任何限制。(2)唯一索引(Unique Index):它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。(3)主键索引(Primary Index):它是一种特殊的唯一索引,不允许有空原创 2017-04-10 11:22:35 · 1831 阅读 · 0 评论