oracle 优化问题

各位大侠,小弟有几个问题请问大家,还望您百忙中抽空出来帮帮小弟,如下:1.oracle中在建表的时候会自动将表的主建创建为索引,是这样吗?2.为什麽我在查询我的索引状态(... 各位大侠,小弟有几个问题请问大家,还望您百忙中抽空出来帮帮小弟,如下:
1.oracle中在建表的时候会自动将表的主建创建为索引,是这样吗?
2.为什麽我在查询我的索引状态(select * from index_stats)的时候,表里面却是空值。
3.因为我第一次管理这样的大型数据库,如果我要重建索引,应该如何重建,需要一个一个表删除,然后在对每个表进行重建吗?
4.现在数据库非常慢,不管是查询或是保存一笔资料,都要等快一分钟左右? 造成这样的原因是什麽? 我应该如何调整?
5.在经后的维护数据库方面,我应该如何维护,分几个步骤?应该查看那些表,应该如何清理拉圾或是查看那些状态?
我被上面压的不行了,让我尽快想办法。没有办法的情况下,我只能在这里求助各位大哥。小弟给您下跪了。还望您道出一二,让小弟能度过此难关。
数据库是否需要定期维护?还有争对第三点问题我指的是是否需要删除原来的索引,而不是删除表,表当然不能删呀,里面有好多资料呢。如果是删除索引,那应该如何在重建,步骤应该怎么做?
展开
 我来答
HttpChu
2011-10-27 · TA获得超过409个赞
知道小有建树答主
回答量:375
采纳率:100%
帮助的人:356万
展开全部
对你的问题:
1、是的,自动为主键创建索引。
2、建议你看着http://www.itpub.net/thread-1049795-1-1.html
3、重建索引可用sql语句,或者用图形化客户端工具如plsql Developer 或toad,怎么可能要删表。
4、先确定是数据库慢还是应用慢,如果直接用sql语句查询都慢,那就是数据库慢或网速慢,如果网速好着,那就应该是数据库的慢。数据库慢的原因有系统内存不足或者应用过多导致内存占用过高,这样的话是应该考虑扩内存。当然还有一些方法可改善,如把数据表空间放到不同的磁盘分区。
5、做一个合格数据库管理员,要学的东西不少,有技术方面的也有管理方面的。最好还是找一些专门的书籍看看,自己建一个测试数据练习技术,但在正式数据库上使用这些技术要慎之又慎,事前做好准备,如备份。
----------
定期维护是必要的:但并不意味着你去改数据库里的表结构,建立索引等。只要保持系统在可接受的情况下运行即可。其实主要是定期整理好数据备份,随时关注系统运行情况,有错则想办法解决。
更多追问追答
追问
非常感謝這位兄弟的金玉良言,但是您的回答理倫我明白,我想知道的是,我的數據庫現在很慢,要怎么解決,重新建索引,要怎么建,系統默認建的索引有沒有起到作用。
追答
除非你的数据量非常庞大,要不然创建新的索引没太大效果的。如果数据库量真的这么大,建数据库时开发人员肯定会建立对应的索引。还有索引对多表连接是无效的。我还是建议你检查sql语句问题、系统内存使用情况。
还有如果你对一个数据量不大的表做查询还是慢,那说明更不是索引能解决的。另外,索引只针对查询,对某一列建立索引,那就意味着对这一列的数据排序,让查询快捷而已,请不要高估索引的作用,认为键索引就能提高速度。索引建立得不适当,反而会使系统更慢。
一般情况下,系统默认创建的索引是最高效的。你的系统慢,难道你就针对每张表的每一列建索引吗?那你的系统只能崩溃得更快。
匿名用户
2011-10-27
展开全部
楼上的回答的不错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式