今天早上一到公司就有看到客户发过来消息说是前一天晚上把表里的数据删了后导致今天早上程序运行不速度非常慢了,看了相关过程,发现在执行一查询语句时速度非常慢,到另外一家门店看了下执行速度挺快的,大概原因就在这里了。[@more@]
今天早上一到公司就有看到客户发过来消息说是前一天晚上把表里的数据删了后导致今天早上程序运行不速度非常慢了,看了相关过程,发现在执行一查询语句时速度非常慢,到另外一家门店看了下执行速度挺快的,大概原因就在这里了。
看了下执行计划,发现执行计划变了。应该用到的索引没用到,为什么出现这样的情况呢?
群里的朋友告诉我是因为表的统计信息发生了变化:select * from user_tables where table_name = ';会导致执行计划发生改变,一看还真是这样。
问题是:删除数据会导致表的统计信息发生变化,要怎么才能恢复表在查询时用到原来的索引?
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/754051/viewspace-1019096/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/754051/viewspace-1019096/