我想 把最新的10条数据查询出来。最新意味着按时间(自增的id号)倒排序?select top 10 * from tables where users='sa' order by id desc
这样速度不是很慢?我个人认为这条sql内部执行的过程是:把user是sa的所有的全部查出来再倒排序再取出前10条来 。我想要的是查询出全部的来直接取前10条,意味着新插入的数据放到表前面怎么写插入sql呢?
insert...?
select top 10 * from tables where users='sa'
这样速度不是很慢?我个人认为这条sql内部执行的过程是:把user是sa的所有的全部查出来再倒排序再取出前10条来 。我想要的是查询出全部的来直接取前10条,意味着新插入的数据放到表前面怎么写插入sql呢?
insert...?
select top 10 * from tables where users='sa'
不查询出全部的来,直接取前10条,意味着新插入的数据放到表前面怎么写插入sql呢?
指定索引,按照索引排序.没有你说的什么数据在前面后面之说法.
查询的过程中首先把是users 是aa 的数据全部查询出来,再倒排序,再取前10条这个过程对不对
select top 10 * from tables where users='sa'
因为id是自增且是索引所以select top 10 * from tables where users='sa' order by id desc
能达到这个效果但我认为
查询的过程中首先把users 是aa 的数据全部查询出来,再倒排序,再取前10条这个过程对不对我觉得这样浪费资源
→查询的过程中首先把users 是aa 的数据全部查询出来我不想把users 是aa 全部查出来再倒排我想如果新插入的数据能放到最前面那直接取前10条数据不就完了吗?这可行吗?