
1、首先,进行打开pycharm的界面当中,进行选中database选项。
2、进行选中了database的选项,进行选中上 表 的选项。
3、然后进行对表右键的 *** 作,d出了下拉菜单选中为 new 的选项。
4、进行选中为new的选项,d出了下一级菜单选中为 index 的选项。
5、这样就会d出了modify table的界面当中,进行点击 添加 的按钮。
6、然后在name的输入框中进行输入索引名称。然后进行点击 exeute的选项。
首先在创建完索引之后,先运行:runstats on table schema.tablename and detailed indexes all
运行完统计后再分析你要执行的SQL语句,看索引能否用的上。
DB2是按照成本来进行语句执行的优化的,只要你正确的运行了统计,一般情况下,会优先选择使用索引。
也有部分情况下不会使用索引。比如某个cloumn,同时创建了在索引1和索引2中,那DB2到底会选择索引1和索引2,就要看他认为使用哪个索引的成本低了。
很多不使用索引的情况是因为你们有做完正确的统计。
所以首先建议你先针对该表做一下完整的统计,命令见上。
从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开始,你可以轻松查询出未使用的索引,表和包。
具体请参见链接
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)