从最高效率到最低效率的以下SQL语句的命令是什么?
注意:让语法与语言无关(即在适当的位置使用TOP 1
而不是LIMIT 1
)。假设table_name
是表的名称,column_name
是列的名称,id
是具有主键的列的名称,并且表具有数万个记录。
SELECT FIRST(column_name) FROM table_name
SELECT column_name FROM table_name LIMIT 1
SELECT column_name FROM table_name WHERE id=1 --assumes the first id is 1
SELECT column_name FROM table_name WHERE id=(SELECT MIN(id) FROM table_name)
和
SELECT LAST(column_name) FROM table_name
SELECT column_name FROM table_name ORDER BY id DESC LIMIT 1
SELECT column_name FROM table_name WHERE id=(SELECT COUNT(id) FROM table_name) --assumes no values have been skipped
SELECT column_name FROM table_name WHERE id=(SELECT MAX(id) FROM table_name)
我不知道如何对这些语句进行基准测试,但我的 guess 是获得第一条记录的2,3,1,4和获得最后一条记录的3,2,1,4。
答案 0 :(得分:1)
我猜不过; FIRST和LAST是分组操作。要使查询引擎获得结果,首先需要收集数据。
其他人只需返回它找到的第一行。 如果'id'上有一个索引,那么它的下降并不是很贵。