`

数据库创建索引的建议

阅读更多

一、数据库索引创建规则

 

1、表的主键、外键必须有索引;
2、数据量超过300的表应该有索引;
3、经常与其他表进行连接的表,在连接字段上应该建立索引;


4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
5、索引应该建在选择性高的字段上;
6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;

 

 

 

二、一般不选择具有这些特点的列上创建索引

 

1. 对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查 询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求;

 

2. 不要在有大量相同取值的字段上,建立索引。这是因为,由于这些列的取值很少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加 快检索速度;

 

3. 对于那些定义为text, image和bit数据类型的列不应该增加索引。这是因为,这些列的数据量要么相当大,要么取值很少;
 
参考资料:    数据库创建索引的注意事项   http://www.studyofnet.com/news/449.html
 
分享到:
评论

相关推荐

    数据库索引创建建议

    针对大数据量的情况优化数据库表配置,合理设置索引,提升搜索效率

    mysql数据库索引自学笔记,基础+单表索引+多表索引的创建方法及原理

    因为索引行是按索引键的顺序存储的,所以当索引键中有一列被更新时,DBMS可能不得不把相应的行从旧的索引位置移到新的位置来保持这一顺序,所以不稳定的列不建议被索引。在实际开发中,这个问题不可能避免(比如按...

    数据库实战.doc数据库实战.doc

    数据库创建:根据设计好的数据库结构,使用数据库管理系统(如MySQL、Oracle、SQL Server等)创建数据库和表。在创建过程中,需要设置合适的字符集、排序规则等参数。 数据查询:使用SQL语言编写查询语句,从数据库...

    MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划

    MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样。其实可以这样说说,索引是凌驾于数据存储系统之上的另一层系统,所以...

    数据库服务搭建及数据库安装

    本文档主要是数据库服务搭建包含...6.数据库的一些常规操作包含(创建用户、创建表空间、创建索引、授权、创建索引空间、创建序列、修改序列、删除序列) 希望可以跟大家多沟通交流学习。 建议大家可以上手进行操作

    数据库实验一.docx

    4.利用SQL语句创建索引 5. 利用SQL语句删除索引 二、课内思考题: 1、为什么建议创建数据库文件时路径设置为C以外的其他硬盘分区,并且增加文件夹名? C盘是系统盘,一般用于存储或安装系统,C盘对本地硬盘的但...

    校友信息管理系统设计.docx(数据库)

    (三) 创建视图,索引 (四) 物理模型设计图(.pdm图) 五. 数据库功能实现及界面展示 (一)登录模块设计 (二)管理员模块设计 (三)管理员模块设计 六. 总结与展望 (一) 总结 (二) 问题及解决办法...

    数据库学习资源的分享(Mac在DOCKER上安装MSSQL使用Navicat)(不建议下载)

    2、用界面工具创建自己的数据库(名称自定),试着用界面工具在该数据库 中创建几个表,打开其中某个表,进行插删改操作,记录运行情况和处理方法 实验二 SQL 的数据定义(表和索引) 1.复习 SQL 语言中数据定义的相关...

    使用Visio进行数据库设计.doc

    使用"数据库模型图"模板或"ER 源模型"模板创建逻辑数据库模型 我们这里重点介绍用"数据库模型图"模板来建立逻辑模型 3.物理模型 实际的数据库,在VISIO中可以根据逻辑模型自动生成各种类型的数据库 "返回页首 " " ...

    Oracle数据库管理员技术指南

    3.3.6 单独创建索引 3.3.7 设置大的初始化参数 SORT_AREA _SIZE 3.3.8 使用大的导入缓冲区 3.3.9 最小化数据库提交次数 3.4 Oracle8i 的新特性 3.4.1 子分区的导出和导入 3.4.2 导出/导入多个转储文件 3.4.3...

    MySQL数据库入门到高级笔记快速学习pdf版本

    高级部分的内容包含了视图的使用,存储过程的创建使用,索引,触发器,事务的使用,安全管理,数据库的备份与还原,最后对于提高性能简单总结 能学到什么:1. mysql的启动和关闭,使用数据库,对库的基本操作以及...

    怎样正确创建MySQL索引的方法详解

    索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,...

    高校成绩管理数据库系统的设计与实现.doc

    写出数据库逻辑模型对应的SQL语句,并考虑属性列的非空、主键、约束机制等,用 于创建数据库模式;此外,还要建立适当的索引; 4. 适当进行数据库的物理结构设计,比如索引等,并用有SQL语句表示; 5. 完成用户需求...

    数据库应用技术之SQL语言的数据定义(DDL)

    能学到什么:①掌握利用 SQL 查询分析器进行数据库及基本表的定义、删除与修改②掌握索引的建立与删除的方法③完成后续实验的准备(数据库的创建及数据准备)。 阅读建议:1.MySQL与Navicat Premium 15环境有一定...

    数据库设计命名规范.docx

    修订记录 时间 版本 修改点 修改人 目 录 1 目的 3 2 数据库名命名规范 3 3 数据库表命名规范 3 4 表字段命名规范 4 5 表设计规范 4 6 索引命名规范 5 7 主键、外键命名规范 5 目的 此规范包括数据库名命名规范、...

    数据库操作语句大全(sql)

    8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select ...

    MongoDB中创建索引需要注意的事项

    在 《MongoDB 那些坑》中提到,在前台直接运行建立索引命令的话,将造成整个数据库阻塞,因此索引建议使用 background 的方式建立。但是这也会带来一定的问题,在 2.6 版本之前,在 secondary server 中即使使用 ...

    MySQL数据库优化技术之索引使用技巧总结

    本文实例总结了MySQL数据库优化技术的索引用法。分享给大家供大家参考,具体如下: 这里紧接上一篇《MySQL数据库优化技术之配置技巧总结》,进一步分析索引优化的技巧: (七)表的优化 1. 选择合适的数据引擎 MyISAM:...

Global site tag (gtag.js) - Google Analytics