Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 不带where子句的表上的索引_Performance_Oracle_Indexing - Fatal编程技术网

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!:-)。