中国开发网: 论坛: 程序员情感CBD: 贴子 284276
DeepBlue: 到底可不可以通过对分区数据表进行定时分析的方法确保数据库选择更优的索引?---不可以,除非用工具保证analyze后的执行计划都是向好的发展
analyze后,表,索引的统计信息改变,数据库根据这些信息选择执行计划的,造成涉及这个表的所有sql的执行计划都可能改变,或者说性能改变。100个里面假设有99个变快,1个变慢,而慢的可能正是关键的。Analyze造成的问题时让sql的性能变为不可预知了。你无法确定哪个会快,哪个会慢。

做法(利用工具):在analyze前,对所有sql的执行计划进行一次快照,备份统计信息到临时表,analyze,在做次快照,对比SQL的执行计划变化,对变慢的进行针对性的优化。如果有问题则把刚才备份的统计信息恢复。



数据库对分区表的索引选择策略到底有没有固定可循的原则?-----可以说没有, 硬件,数据分布,索引等等,太多因素都会影响他的选择。


执行力=流程+计划+组织

把理想变成计划,
把计划变成步骤,
把步骤变成行动,
把行动变成成果。

好語說盡人必易之。規矩行盡人必繁之。福若受盡緣必孤。勢若使盡禍必至。

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录