错误代码是一组错误代码集,用于所有
Sybase
产品,包括
Adaptive
Server
Enterprise。
Adaptive
Server
Anywhere
所返回的每个
Sybase
错误代码,都有与之匹配的
Adaptive
Server。
Anywhere
错误代码。在许多情况下,Adaptive
Server
Anywhere
错误代码比对应的
Sybase
错误代码更详细。
分三种情况:
1、
insert
添加在一定程度上可以导致B树page的分裂,从而使索引的大小变大。
2.
update:
如果更新索引相关的column,那么首先是删除原来那个key,然后再添加。
3.
delete:sybase
默认在删除的时候不会清理索引页中的key的,因此在索引中会存在很多没有用的key
处理方法,可以试试
rebuild
index,会加sh-table的锁,这个不确定是在不行,可以先把index
drop掉,完了再创建。
回复 3# 其实我有点晕 如果频率很大的话,那应该就是这个问题了 分三种情况: 1、 insert 添加在一定程度上可以导致B树page的分裂,从而使索引的大小变大 2. update: 如果更新索引相关的column,那么首先是删除原来那个key,然后再添加(mysql的实现,我觉得 sybase应该也差不多) 3. delete:sybase 默认在删除的时候不会清理索引页中的key的,因此在索引中会存在很多没有用的key 处理方法呢,你可以试试 rebuild index,我记得是会加sh-table的锁,这个不确定 是在不行,可以先把index drop掉,完了再创建么,反正表很小,写个脚本在半夜2点做就可以了where条件不走索引删除肯定慢,特别是数据量大的时候。最快的办法就是想法让其走索引,你可以先查!然后再删。查的时候拼成sql,我以Oracle为例,select id||';' from xx where rownum<10000 这样查询出来很多id后面还带分号,然后你再批量替换分号,替换成;delete from 这样就拼装成一系列sql语句,然后再执行,这样最快。sysbase没用过,但执行的都是标准sql,应该没问题欢迎分享,转载请注明来源:内存溢出
评论列表(0条)