问题描述
你好,
我正在阅读有关启用行移动以缩小空间的信息。
一个线程,汤姆回答了这个问题:
“启用行移动有什么问题吗?只有您可以回答,您是否有任何应用程序希望rowid连续不变?如果是这样-那么它是错误的,如果不是-那么它可能是好的”
我的问题是:
有没有办法知道我是否有应用程序期望rowid保持不变?
因此,如果没有,我可以启用行移动,收缩紧凑。
我正在阅读有关启用行移动以缩小空间的信息。
一个线程,汤姆回答了这个问题:
“启用行移动有什么问题吗?只有您可以回答,您是否有任何应用程序希望rowid连续不变?如果是这样-那么它是错误的,如果不是-那么它可能是好的”
我的问题是:
有没有办法知道我是否有应用程序期望rowid保持不变?
因此,如果没有,我可以启用行移动,收缩紧凑。
专家解答
有两个潜在的问题
1) 应用程序实际上 * 存储 * rowid在数据库中的某个地方
您可以搜索数据类型为 “rowid” 的列,但是当然,如果它们将rowid存储在 (例如) varchar2中,那么您需要查找列名并进行一些有根据的猜测。
2) 应用程序从数据库中读取rowid,然后将其用于后续更新等。
您可以通过关注V $ SQL并查找明确执行的查询来进行评估: 从... 中选择rowid,[其他cols]。
1) 应用程序实际上 * 存储 * rowid在数据库中的某个地方
您可以搜索数据类型为 “rowid” 的列,但是当然,如果它们将rowid存储在 (例如) varchar2中,那么您需要查找列名并进行一些有根据的猜测。
2) 应用程序从数据库中读取rowid,然后将其用于后续更新等。
您可以通过关注V $ SQL并查找明确执行的查询来进行评估: 从... 中选择rowid,[其他cols]。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




