什么样的列不适合创建索引?哪些列上不应该创建索引?
2010-04-07 15:57
288 查看
一般来说,不应该创建索引的的这些列具有下列特点:
1,对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。
2,对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索速度。
3,对于那些定义为text, image和bit数据类型的列不应该增加索引。这是因为,这些列的数据量要么相当大,要么取值很少。
4,当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和检索性能是互相矛盾的。
当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因此,当对修改性能的要求远远大于检索性能时,不应该创建索引。
1,对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。
2,对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索速度。
3,对于那些定义为text, image和bit数据类型的列不应该增加索引。这是因为,这些列的数据量要么相当大,要么取值很少。
4,当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和检索性能是互相矛盾的。
当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因此,当对修改性能的要求远远大于检索性能时,不应该创建索引。
相关文章推荐
- 想搭建自己的网站,应该从哪处入手呢?选择什么样配置的服务器捏?通过哪些手段赚取足够的维护网
- D3D资源管理-什么资源应该创建在什么地方-应该配以什么样的属性
- 建立索引的优缺点是什么?如何分析确定一个表上应该建立哪些索引
- 数据库的索引以及在哪些列上创建索引
- 创建索引时应该考虑该列使用时最可能的排序方式
- SWT、Swing 或 AWT:哪个更适合您? 在为新应用程序选择 GUI 工具包时应该考虑哪些因素?
- 数据库哪些情况下适合建索引,哪些情况下不适合建索引
- 创建电商网站之前 应该树立什么样的目标?
- 除复合索引外,哪些情况下不适合用索引
- 哪些字段适合建立索引
- 创建索引时应该考虑该列使用时最可能的排序方式
- 数据库的索引以及在哪些列上创建索引
- 创建索引有哪些缺点?有哪些负面的影响?
- 分析哪些索引适合压缩,以及压缩几个字段
- MySQL数据库建立索引的优缺点以及什么样的字段适合建立索引
- 如何创建索引、什么时候该创建、什么时候不应该创建
- 如何创建索引、什么时候该创建、什么时候不应该创建
- 索引应该什么时候创建索引
- maven项目提交到git仓库时需要忽略哪些文件?标准的结构应该是什么样的?
- D3D资源管理-什么资源应该创建在什么地方-应该配以什么样的属性...