数据库创建索引的注意事项
类别:数据库 浏览量:2844
时间:2014-5-19 数据库创建索引的注意事项
数据库创建索引的注意事项
索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。所以是否要为表增加索引、索引建立在那些字段上,是创建索引前必须要考虑的问题。解决此问题就是分析应用程序的业务处理、数据使用,为经常被用作查询条件、或者被要求排序的字段建立索引。
索引是建立在数据库表中的某些列的上面。因此,在创建索引的时候,应该仔细考虑在哪些列上可以创建索引,在哪些列上不能创建索引。
一、数据库索引创建规则
1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;
4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:
A、正确选择复合索引中的主列字段,一般是选择性较好的字段;
B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;
C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;
D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;
E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;搜索
8、频繁进行数据操作的表,不要建立太多的索引;
9、删除无用的索引,避免对执行计划造成负面影响;
四、创建索引需要注意的地方
您可能感兴趣
- sqlserver数据库实时同步(SQL Server实时同步更新远程数据库遇到的问题小结)
- 支持多种数据库的数据库管理工具:navicat premium
- sqlserver设置自动备份的注意事项(SQL server 定时自动备份数据库的图文方法)
- laravel数据库查询(Laravel获取所有的数据库表及结构的方法)
- mysql怎么给查询权限(MySql设置指定用户数据库查看查询权限)
- sqlserver怎么手动添加数据库表(SQL Server 数据库调整表中列的顺序操作方法及遇到问题)
- 云数据库navicat连不上(Navicat Premium15连接云服务器中的数据库问题及遇到坑)
- python怎么操作mysql(详解Python的数据库操作pymysql)
- mysql数据库丢失怎么办(MySQL 数据丢失排查案例)
- 创建数据库入门教程mysql(MySQL数据库安装教程一学就会)
- sql server信息管理案例(利用SQL Server数据库邮件服务实现监控和预警)
- SQL Server数据库备份的几种方式
- 数据库having的用法(数据库SQL中having和where的用法区别)
- sqlserver表值函数用法(SQL Server数据库中的表名称、字段比较)
- mysql数据库简单操作(一篇文章教会你进行MySQL数据库和数据表的基本操作)
- laravel测试重连数据库(解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题)
- 谢娜是得罪快乐大本营造型师了吗 全场被黑化(谢娜是得罪快乐大本营造型师了吗)
- 前《iLOOK》时装总监 《快乐大本营》御用造型师上线(快乐大本营御用造型师上线)
- 释小龙晒杀青照片 多重身份惹观众期待(释小龙晒杀青照片)
- 《九牛之人降魔传》开机 演员祁高坤化身九牛之人除魔卫道(九牛之人降魔传开机)
- 王铲铲的致富之路无限金币卡法攻略教学(王铲铲的致富之路无限金币卡法攻略教学)
- 文明6金币太少怎么办 文明6无限刷钱教程(文明6金币太少怎么办)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9