我正在使用SQLite 3.11。我按如下方式创建了一个表:
CREATE TABLE MyTable (F1 INTEGER, F2 INTEGER, F3 INTEGER, F4 INTEGER);
然后添加以下记录:
INSERT INTO MyTable (F1, F2) Values (1, 1);
INSERT INTO MyTable (F1, F2) Values (1, 2);
INSERT INTO MyTable (F1, F2) Values (2, 2);
INSERT INTO MyTable (F1, F2) Values (2, 3);
我想从MyTable中选择并根据F1,然后是F3,然后是F4进行排序,如下所示:
SELECT * FROM MyTable ORDER BY F1, F3, F4
但是F3和F4是基于F1,F2计算的,计算有点耗时。在这种情况下,是否可以执行延迟计算以提高性能。
那是:
这可能吗?
由于
答案 0 :(得分:0)
只是一个想法,但你不能在多选中做到吗?
据我所知,子查询需要先完成,然后再进行选择。
这就是我所说的。
SELECT F1, F2, F3, F4
FROM (SELECT F1, F2, Some_Super_Complex_Calculation AS F3, Another_Super_Complex_Calculation AS F4
FROM MyTable)
ORDER BY F1, F3, F4