【发布时间】:2011-01-17 14:12:43
【问题描述】:
我正在寻找一个快速的 sql 语句来确定表中何时存在或不存在字段。
其实我在用这句话
Select 1
from dual
where exists (select 1
from all_tab_columns
where table_name = 'MYTABLE'
and column_name = 'MYCOLUMN')
我认为必须有一种最快的方法来确定 ORACLE 中是否存在列。
更新
我正在优化一个更大的软件系统,该系统会多次调用此查询,我无法修改源代码;(,只有我可以修改存储在外部文件中的查询。
表 all_tab_columns 有超过一百万条记录。
【问题讨论】:
-
如果这个查询的性能是一个问题,听起来你的数据模型有问题。你能解释一下为什么需要这个吗?
-
为什么需要快速查询?阅读表格描述输出有什么问题?或者为什么你不能阅读创建模型的 DDL?