索引的使用及注意事项
2016-02-27 15:09
288 查看
认识索引
索引的影响
索引的使用
索引的注意事项
转载请标明出处:http://blog.csdn.net/u013565368/article/details/50755381
索引又分为单列索引和联合索引,单列索引很容易理解,就是对某一列进行排序。联合索引就是对多列排序,第一列为优先列,即优先按照这列排序,相同时再按下一列排序。
索引的数据量比全表的少,需扫描的数据也就少。
索引对字段已经排序,可以进行二分法查询。
缺点:索引也不是越多越好的。如果我们对每一列都建立索引,那么需要的额外存储空间将加大,对于插入、更新等操作的速度将降低,因为这些操作都要维护索引,每插入一条,那么需要在每个索引都插入一条,这样效率就降低了。
结论:所谓钱要花在刀刃上,索引也不例外,只对经常查询的字段建索引,不建无用的索引。由于索引降低插入操作速度,因此:
查询频繁,插入少:建索引(一般网站数据都是)
查询少,插入频繁的或字段数据范围小的(如:性别):不建索引
查询多,插入也多:看需求(客户查询,员工插入,那么客户至上,当然速度慢让员工来忍受了)
1.建立单列索引
2.建立联合索引
3.删除索引
4.重建索引
ps:为了健壮性考虑可以加上
对索引插入是在索引尾部插入的,所以在插入次数较多的情况下应重建索引。
触发索引的关键包括但不限于
and、or连接词对索引来说,前后顺序无关。
作者注:以上皆是本人总结,若有错误遗漏之处,欢迎指出,共同讨论。
2016/2/27 10:32:58
索引的影响
索引的使用
索引的注意事项
转载请标明出处:http://blog.csdn.net/u013565368/article/details/50755381
1.认识索引
索引是数据库对原始数据的一列或多列进行排序的一种结构,分为聚集索引和非聚集索引。聚集索引就像书的目录一样,排序结构和原表的一致;而非聚集索引就像字典的偏旁查找一样,排序顺序和字典的不一样,只是指出它在哪一页。索引又分为单列索引和联合索引,单列索引很容易理解,就是对某一列进行排序。联合索引就是对多列排序,第一列为优先列,即优先按照这列排序,相同时再按下一列排序。
2.索引的影响
优点:我们建索引肯定是有目的的,目的就是为了更快的查询。对于索引的查找为什么比全表查询快呢?索引的数据量比全表的少,需扫描的数据也就少。
索引对字段已经排序,可以进行二分法查询。
缺点:索引也不是越多越好的。如果我们对每一列都建立索引,那么需要的额外存储空间将加大,对于插入、更新等操作的速度将降低,因为这些操作都要维护索引,每插入一条,那么需要在每个索引都插入一条,这样效率就降低了。
结论:所谓钱要花在刀刃上,索引也不例外,只对经常查询的字段建索引,不建无用的索引。由于索引降低插入操作速度,因此:
查询频繁,插入少:建索引(一般网站数据都是)
查询少,插入频繁的或字段数据范围小的(如:性别):不建索引
查询多,插入也多:看需求(客户查询,员工插入,那么客户至上,当然速度慢让员工来忍受了)
3.索引的使用
(相关代码基于SQLite)1.建立单列索引
CREATE INDEX index_name ON tableName(columnName ASC);
2.建立联合索引
CREATE INDEX index_name ON tableName(columnName1 asc,columnName2 DESC);
3.删除索引
DROP indexNmae;
4.重建索引
REINDEX tableName; REINDEX indexName1,indexName2;
ps:为了健壮性考虑可以加上
IF NOT EXISTS等语句
4.索引的注意事项
对于联合索引,如果所查询字段不包含优先列,那么将不使用这索引。对索引插入是在索引尾部插入的,所以在插入次数较多的情况下应重建索引。
触发索引的关键包括但不限于
select、where、join、order by.(
like无效)
and、or连接词对索引来说,前后顺序无关。
作者注:以上皆是本人总结,若有错误遗漏之处,欢迎指出,共同讨论。
2016/2/27 10:32:58
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- 我是运营,我没有假期
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- DB2数据库的安装
- C#实现把指定数据写入串口
- CentOS下DB2数据库安装过程详解
- “传奇”图象数据存储方式
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- PostgreSQL教程(八):索引详解
- sql2008 还原数据库解决方案