Performance 不带where子句的表上的索引
我试图从包含数百万行的表中选择特定列的不同列表,例如:Performance 不带where子句的表上的索引,performance,oracle,indexing,Performance,Oracle,Indexing,我试图从包含数百万行的表中选择特定列的不同列表,例如: select distinct stylecode from bass.stock_snapshot 这个查询显然需要很长时间。我可以在此表上执行什么性能调整? 如果我的查询没有谓词,索引会有帮助吗 “只是在测试台上做了这个,解释计划显示它确实有用 索引。” 请记住,您必须将该索引保持更久。我不了解您的数据,但这个索引似乎不太可能对其他查询有用,而且这个查询似乎不是您应该经常运行的那种查询 如果这是一次性的,那么其他一些方法(如并行查询)
select distinct stylecode from bass.stock_snapshot
这个查询显然需要很长时间。我可以在此表上执行什么性能调整?
如果我的查询没有谓词,索引会有帮助吗
“只是在测试台上做了这个,解释计划显示它确实有用
索引。”
请记住,您必须将该索引保持更久。我不了解您的数据,但这个索引似乎不太可能对其他查询有用,而且这个查询似乎不是您应该经常运行的那种查询
如果这是一次性的,那么其他一些方法(如并行查询)可能会更好
另一方面,如果这是一个常见的要求,那么为STYLECODE创建一个参考表可能是个好主意。STYLECODE上的索引应该可以被distinct使用。谢谢-只是在测试表上这样做了,解释计划显示它确实使用了索引。谢谢希望它很快[足够]:)将列设置为NOTNULL也可以确保最佳性能(在添加索引的情况下),感谢您的关注。这是一个遗留系统,我正在编写ETL摘录,因此日常维护不是问题。“可能是样式代码的参考表”,您的意思是“向数据库添加外键”-heretic!:-)。