Mysql-索引学习(一)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-17 14:41 点击:

使用索引可以提高查询效率,废话不多说,先来个例子。

 

Sql代码:

CREATE TABLE `person` (  
  `id` int(11) NOT NULL AUTO_INCREMENT,  
  `name` varchar(20) DEFAULT NULL,  
  `birthday` datetime DEFAULT NULL,  
  `isMan` int(11) DEFAULT NULL,  
  `salary` double DEFAULT NULL,  
  `test` int(11) DEFAULT NULL,  
  PRIMARY KEY (`id`)  
)  
CREATE TABLE `person` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `birthday` datetime DEFAULT NULL,
  `isMan` int(11) DEFAULT NULL,
  `salary` double DEFAULT NULL,
  `test` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
)

 

 在插入一些数据。例如:


\

 

运行:

EXPLAIN select name from person where name='linjia4'

观察结果:


\


 row=23是因为这个表总共有23条记录,即是说做了全表扫描

 

在搜索的“name”加上索引:

create index testtest on person (name)

再执行EXPLAIN select name from person where name='linjia4'

观察结果:


\


 rows=1,即是所当查询语句执行时通过name的索引,直接定位到那条数据,不用做全表扫描

 

索引的效果是显而易见的,大大的提高了查询的速度。但索引也不能滥用,增加索引是要付出代价的。

 

接下来的文章会介绍索引更深层次的知识,我希望通过自己的理解,用一种简单易懂的方式阐述知识

摘自:邻家的技术仓库

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • mysql-mmm
    • mysqldump命令——MySQL数据库备份还原
    • Oracle数据导入MySQL的快捷工具:MySQL Migration Toolkit
    • 简简单单储存过程——循环一个select结果集
    • MySQL数据库十大优化技巧
    • Mysql主主复制架构配置
    • Mysql安装笔记
    • MySQL Stmt预处理提高效率问题的小研究
    • Mysql的Procedure 参数为NULL问题分析
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1