㈠ DB2数据库表索引建多了会有影响吗
会有影响
1、需要占用物理空间
2 、维护当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
3、 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
㈡ DB2数据库索引问题-怎样更快更效率
从db2
9.7开始,你可以使用下面的查询检查db2中未使用的索引:
select
indschema,indname,tabname
from
syscat.indexes
where
lastused=‘01/01/0001’
lastused列告诉你索引在db2中的最后一次访问时间,但这个方法并不能保证百分之百返回准确的值,因为db2也会将更新这一列的时间当作访问时间,但你可以使用db2pd工具准确地获得自数据库启动以来索引的最后一次访问时间。
这个查询只能工作在db2
9.7或更高版本,但db2pd可以用于其它版本,在syscat.tables,syscat.indexes和syscat.packages表中都已经增加了一列lastused,因此从db2
9.7开始,你可以轻松查询出未使用的索引,表和包。
具体请参见链接
㈢ db2数据库索引顺序的问题
应该是的,因为where条件中将索引的所有字段都使用到了。使用索引是不管条件在where中的顺序,而是看索引的字段是否都有条件。
㈣ db2创建索引选择哪个列名
db2创建索引选择CREATE INDEX 语句创建索引。索引是在一个表上定义的,并使用表列的子集作为索引键。索引以经过排序的次序存储索引键。除了存储索引键之外,每个索引项包含一个称为记录 ID(RID)的逻辑指针,它指向一个数据行在表中的位置。可以指定索引项以升序还是以降序存储。索引是与表数据分开存储的。
db2的几种版本类型:
1、DB2 Everyplace:主要用于移动计算,可以在当今最常见的各种手持设备上顺利地运行(提供多线程支持)。
2、DB2 Personal Edition
DB2 Personal Edition(DB2 Personal)是单用户RDBMS,运行于低价的商用硬件桌面计算机上。
DB2 Personal 包含DB2 Express 的所有特性,但是有一个例外:远程客户机无法连接运行这个DB2 版本的数据库。
3、DB2 Express - C
DB2 Express - C提供了DB2 Express 的大多数功能。IBM 发布了这个特殊的DB2 免费版本,可以用于基于Linux 和Windows 的操作系统。
4、DB2 Express Edition
DB2 Express Edition(DB2 Express)是一种功能全面的支持Web 的客户机/服务器RDBMS。DB2 Express 可以用于基于Windows 和Linux 的工作站。DB2 Express 提供一个低价的入门级服务器,主要用于小型企业和部门的计算任务。
以上内容参考:网络-DB2
㈤ oracle ,sybase, db2 数据库中创建的唯一索引,默认的是不是聚集索引
oracle中的唯一所以并不是聚集索引,默认建的索引都是B-TREE索引!
要建聚集索引要手动指定
create index test_index on cluster test_cluster;
DB2和sysbase也应该是一样的!
聚集索引并不适合频繁更新和修改,所以一般的默认都不会使用聚集索引!
㈥ DB2的数据库删掉一个表后,在这个表上建的索引和数据库目录下对应的索引文件会怎么样
索引是表的排序结构,它只和表对应,数据库不直接对应索引
一旦表删除,索引必定随之删除
㈦ DB2中添加索引无效
首先在创建完索引之后,先运行:
runstats on table schema.tablename and detailed indexes all
运行完统计后再分析你要执行的SQL语句,看索引能否用的上。
DB2是按照成本来进行语句执行的优化的,只要你正确的运行了统计,一般情况下,会优先选择使用索引。
也有部分情况下不会使用索引。比如某个cloumn,同时创建了在索引1和索引2中,那DB2到底会选择索引1和索引2,就要看他认为使用哪个索引的成本低了。
很多不使用索引的情况是因为你们有做完正确的统计。
所以首先建议你先针对该表做一下完整的统计,命令见上。
㈧ DB2数据库索引问题
从DB2 9.7开始,你可以使用下面的查询检查DB2中未使用的索引:
select indschema,indname,tabname from syscat.indexes
where LASTUSED=‘01/01/0001’
LASTUSED列告诉你索引在DB2中的最后一次访问时间,但这个方法并不能保证百分之百返回准确的值,因为DB2也会将更新这一列的时间当作访问时间,但你可以使用db2pd工具准确地获得自数据库启动以来索引的最后一次访问时间。
这个查询只能工作在DB2 9.7或更高版本,但db2pd可以用于其它版本,在SYSCAT.TABLES,SYSCAT.INDEXES和SYSCAT.PACKAGES表中都已经增加了一列LASTUSED,因此从DB2 9.7开始,你可以轻松查询出未使用的索引,表和包。
具体请参见链接