现在有一表A
现两个Oracle用户A,用户B(其中用户A是表A的Owner)我给表A创建了Public的同义词(即所有Oracle用户都可以访问A)现在有个问题,当用户B登录Oracle访问表A时速度很慢(因为表A数据量很大)问:怎样让B用户登录访问表A时使用表A的索引?这样就可以增加访问速度!
现两个Oracle用户A,用户B(其中用户A是表A的Owner)我给表A创建了Public的同义词(即所有Oracle用户都可以访问A)现在有个问题,当用户B登录Oracle访问表A时速度很慢(因为表A数据量很大)问:怎样让B用户登录访问表A时使用表A的索引?这样就可以增加访问速度!
解决方案 »
- oracle 删除重复记录,同时比较字段大小作为删除条件
- 在linux上安装完oracle 10g 后,没有 sql plus url 和 dba url 等
- 请助SQL批量插入数据的问题?
- 查看数据库联机重做日志的生成量
- oracle 如何进行对sql语句进行监视?十万为急..
- 在没有和服务器连接的oracle的客户端,怎样建立数据库??恳请赐教!!!
- 我现在用的是XP,请问Oracle8i的哪个版本支持的比较好?
- 谁能告诉我怎样一步一步搭建ORACLE服务器?谢谢!
- oracle8.1.7导数据问题,急
- 如何创建 ctx_doc 包?
- 急急(各位大哥帮帮忙)怎样从Oracle数据库中取得表的sql脚本,(包括表的创建sql,数据插入sql)(在线等)
- 在oracle中有没有判断一个字符串的字节数的函数!
把权限授予给B用户
然后创建索引的公有同义词就可以了
应该是没有问题的
至于创建索引,可以用create any index权限
1。我查看执行计划时发现,同一条sql语句,A用户和B用户的执行计划竟然不一样,这是为什么?
例如:表A有字段A1和字段A2(对应索引A1和索引A2)
执行sql语句:select * from 表A where A1='xxx'
用户A的执行计划中使用了索引A1,而用户B的执行计划中却使用索引A22。上面的问题是不是用户B的权限不对产生的,那对于非表A Owner的用户需要授予哪些权限才能满足要求?