我有一个SQLite表t1,它有三列:c1、c2和c3,它们在(c1,c2)上具有复合索引。我想运行以下查询:
Select max(c2) from t1 where c1=Value and c3 not like "abcd%"。现在,它可以使用复合索引来过滤那些具有匹配值的c1的记录,并应用c3的where条件,然后使用max(c2)选择记录。问题是SQLLite如何优化这个查询:第一次还是第二次?
我创建了一个兽医诊所的数据库。该数据库包含表:药品(代码)、动物(Id)、处方(id_animal、code_drug、start_date、end_date)。我不得不优化这个查询,因为它相当慢,但我不知道如何优化:
WHERE P.Id_animal = A.Id AND P.Code_drug = D.Code AND