Oracle 两句SQL 比较效率

select t.*, t.rowid from practicality t where t.p_usefullife = to_date('2010-01-01','yyyy-mm-dd');

select t.*, t.rowid from practicality t where to_char(t.p_usefullife,'yyyy-mm-dd') = '2010-01-01';
那个效率高点?

取决于你的索引是建立在p_usefullife上还是to_char(p_usefullife,'yyyy-mm-dd')上。
如果没有索引的话,理论上是第一个效率高,但是讨论那点儿差别,就好比讨论你的汽车上刷什么样的油漆能提高车速一样,微乎其微。

select t.*, t.rowid from practicality t where t.p_usefullife = to_date('2010-01-01','yyyy-mm-dd');

这个快点。因为这个不会破坏原有表的结构。如果这个p_usefullife字段上面有索引的,数据量大的话,效率会差别很大。

前面效率高