about me:oracle ace pro,optimistic,passionate and harmonious. focus on oracle,mysql and other database programming,peformance tuning,db design, j2ee,linux/aix,architecture tech,etc
全部博文(166)
发布时间:2020-07-23 17:06:09
1)了解b*tree、bitmap、iot等索引类型特点和使用。
2)了解索引的扫描方式以及走不了索引的情况等。
3)索引在分页查询中的应用。
......【阅读全文】
发布时间:2020-07-15 17:21:48
随着业务的增长,生命周期管理单纯对表的管理,已经无法满足目前公司业务增长对存储的需求,因此,急需从其它方面对模型进行精简,而索引是占存储较大的对象,由于冗余索引、无效索引、无用索引等存在,导致索引浪费存储,需要制定一套策略进行管理。
索引监控与分析则是一套很好的方法,oracle提供索引monitor的方法(对系统资源使用影响小),但是无法监控索引使用频次,另一种方法可以通过使用awr视图dba_hist_sql_plan,可以查询到索引的使用频次,当然,有些sql可能进入不了awr中,因此,我们采用综合的方法:
1) 从awr中(要求30天以上)查询出未被使用的索引。
2) 对1)中的索引使用oracle index monitor监控30天。
如果最终查询出的索引仍未被使用,则认为此索引是多余索引,提交对应库负责人确认后予以清除。
......
发布时间:2020-07-13 16:59:22
使用leading、ordered、swap_join_inputs控制表连接顺序......
发布时间:2020-07-13 09:09:06
merge操作可以用一条语句实现update和insert,而且它比传统的关联子查询可能效率更好,避免了filter操作,可以走hash join操作,适合大批量关联更新......
发布时间:2020-07-13 00:18:03
我们经常会遇到类型转换问题导致索引失效,要么是写sql时候自己加了to_char,to_date,to_number,要么因为类型不一致,oracle做了隐式类型转换导致索引失效。要避免这种问题,还是要在表设计的时候,使用常用类型,避免使用一些不常用的比如nvarchar2,timestamp等,写sql时候遇到类型不一致的,要先测试好,避免上线后出现问题。......