摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MyS...
分类:
数据库 时间:
2015-03-17 00:45:33
阅读次数:
271
写在前面的话在编程领域有一句人尽皆知的法则“程序 = 数据结构 + 算法”,我个人是不太赞同这句话(因为我觉得程序不仅仅是数据结构加算法),但是在日常的学习和工作中我确认深深感受到数据结构和算法的重要性,很多东西,如果你愿意稍稍往深处挖一点,那么扑面而来的一定是各种数据结构和算法知识。例如几乎每个程...
分类:
数据库 时间:
2015-03-16 12:35:05
阅读次数:
274
一、myisam存储引擎1. 数据库版本:阿里云RDS MySQL5.1mysql> select @@version;+-------------------------------+| @@version |+-----------------------...
分类:
数据库 时间:
2015-03-15 13:35:06
阅读次数:
206
mysql索引的类型和优缺点索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。注:[1]索引不是万能的!索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。为了在某种程序上弥补这一缺陷,许 多SQL命令...
分类:
数据库 时间:
2015-03-13 12:08:19
阅读次数:
210
mysql索引的类型和优缺点索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。注:[1]索引不是万能的!索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。为了在某种程序上弥..
分类:
数据库 时间:
2015-03-13 02:05:41
阅读次数:
150
1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因);2.对于多列索引,不是使用的第一部分,则不会使用索引;3.like查询是以%开头;4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引;5.如果mysql估计使用全表扫描要比使用索引快,...
分类:
数据库 时间:
2015-03-12 11:04:00
阅读次数:
158
explain 可以查看sql语句的执行情况,可以看到每个条件扫描的行数,当系统内需要使用SQL查询时,通过explain看下该语句的性能。1.索引通常被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度。所以我们选择索引的列也通常选择出现在WHERE子句、join子句...
分类:
数据库 时间:
2015-03-10 13:56:16
阅读次数:
147
??索引: ??????索引是提高数据库性能的重要方式。 MySQL中,所有的数据类型都可以被索引。 MySQL的索引包括:普通索引,唯一性索引,全文索引,单列索引,多列索引和空间索引等。 ??索引的含义及特点:...
分类:
数据库 时间:
2015-03-06 17:32:31
阅读次数:
198
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页...
分类:
数据库 时间:
2015-03-05 14:21:26
阅读次数:
197
索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形 式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操...
分类:
数据库 时间:
2015-02-25 17:14:03
阅读次数:
254