CREATE TABLE IF NOT EXISTS events
(
id UUID NOT NULL,
type_id UUID,
occurred_at TIMESTAMP WITH TIME ZONE NOT NULL,
PRIMARY KEY (id)
);
jood代码:
val queryDsl = dslContext.select(EventFields).from(EVENTS)
.where(
(EVENTS.TYPE_ID.isNull)
.or(EVENTS.TYPE_ID.eq(query.typeId.id))
)
型号ID代码:
import java.util.UUID
data class TypeId(val id: UUID) {
constructor (id: String) : this(UUID.fromString(id))
override fun toString(): String = id.toString()
}
-你在说什么?
where ("public"."events"."type_id" = cast('d0c6a2a7-2032-4dd7-b2b1-77a554262af7' as uuid))
为什么选角?
我试图摆脱这个选角,因为它会影响我的指数表现
我的索引:CREALEDEX company_emergency_cappened_at_idx ON balance_State_Events(id,Type_id,cappened_at DESC);
在我的解释查询中,其中一行是:过滤器:((类型_id IS空)OR(类型_id =Ɔcaffd-9 c3 b-4 ea 4-b5 e2 - 6ae 342268141 ':uuid)),如果有索引,为什么还有显式过滤器