免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 2769 | 回复: 25
打印 上一主题 下一主题

有关索引的一个奇怪的问题,大家都来看看吧 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-10-10 18:56 |只看该作者 |倒序浏览
系统运行一段时间后,在update......where ...的时候报sqlcode=100的错,告诉无法找到该行。该语句的where条件是完全匹配一个组合索引的。
可是该行确实是存在在表中的,因为我用select ... where查了一下是有这条记录的。

我把where用到的索引drop,create一下后就没有这个问题了。可是系统过一段又会出现这个问题。

奇怪,想不透啊。还望大家帮忙想想。多谢啦。

论坛徽章:
0
2 [报告]
发表于 2003-10-10 23:40 |只看该作者

有关索引的一个奇怪的问题,大家都来看看吧

看看SYBASE数据库的errorlog

论坛徽章:
0
3 [报告]
发表于 2003-10-11 02:17 |只看该作者

有关索引的一个奇怪的问题,大家都来看看吧

把你执行update......where 的报错贴出来看看

论坛徽章:
0
4 [报告]
发表于 2003-10-11 08:18 |只看该作者

有关索引的一个奇怪的问题,大家都来看看吧

对你频繁进行动作查询(Update,delete,insert)的表进行索引的维护是很必要的,你可以把它做到数据库的日常维护中去,定期执行;
对于你刚才的报错,你可以去看errorlog,也可以把你的Update...where语句和相关表结构及报错log贴出来大家共同讨论一下。

论坛徽章:
0
5 [报告]
发表于 2003-10-11 12:28 |只看该作者

有关索引的一个奇怪的问题,大家都来看看吧

打一下补丁看看

论坛徽章:
0
6 [报告]
发表于 2003-10-11 13:48 |只看该作者

有关索引的一个奇怪的问题,大家都来看看吧

可以考虑对表执行DBCC

论坛徽章:
0
7 [报告]
发表于 2003-10-11 17:06 |只看该作者

有关索引的一个奇怪的问题,大家都来看看吧

多谢大家

因为数据库在客户那边,暂时看不到sybase的errorlog.我先把表结构和UPDATE语句描述一下:
表的字段比较多,有60个,全部都是varchar型的字段。
update语句如下:
update tablename
    set col1=uvar1,
          col2=uvar2,
          col3=uvar3,
          col4=uvar4
    where col5=var5 and
               col6=var6 and
               col7=var7 and
               col1=var1
这里用col表示字段名称,uvar,var表示变量。set的字段名和where的字段名相等表示是表里的同一个字段。
col5,col6,col7,col1是一个noncluster的唯一组合索引

该语句执行的时候sqlca.sqlcode报的错误码是 100,sqlca.sqlerrm.sqlerrmc报的错误信息就是 找不到匹配的记录。

另外,我曾经在没有出现我说的这个问题时做过一次update all static...,但好像做完后反而出现这种情况了 昏

论坛徽章:
0
8 [报告]
发表于 2003-10-11 20:52 |只看该作者

有关索引的一个奇怪的问题,大家都来看看吧

有可能是因为你的update改变了表的键值。而后序的upate又指向原来的键值。

论坛徽章:
0
9 [报告]
发表于 2003-10-11 21:40 |只看该作者

有关索引的一个奇怪的问题,大家都来看看吧

当时 update statistics 成功了没有,如果不成功,问题可能比较多

将索引删除后重建看看

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:19:56
10 [报告]
发表于 2003-10-12 17:24 |只看该作者

有关索引的一个奇怪的问题,大家都来看看吧

经常做做update statistics就应该可以了。索引的统计值不准造成的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP