我在数据库中有一个包含 7k 多条记录的表。我有一个在该表中搜索特定 id 的查询。(id 是自动递增的)
查询是这样的->
select id,date_time from table order by date_time DESC;
此查询将对 7k + 数据进行所有搜索.......无论如何我都可以优化此查询,以便仅对 500 或 1000 条记录进行搜索......因为这些记录会增加一天一天,我的查询会越来越重。有什么建议吗??????
我在数据库中有一个包含 7k 多条记录的表。我有一个在该表中搜索特定 id 的查询。(id 是自动递增的)
查询是这样的->
select id,date_time from table order by date_time DESC;
此查询将对 7k + 数据进行所有搜索.......无论如何我都可以优化此查询,以便仅对 500 或 1000 条记录进行搜索......因为这些记录会增加一天一天,我的查询会越来越重。有什么建议吗??????
我不知道我是否在这里遗漏了什么,但有什么问题:
select id,date_time from table where id=?id order by date_time DESC;
并且 ?id 是您正在搜索的 id 的编号...
当然 id 应该是主索引。
如果id
是唯一的(可能是您的主键),那么您不需要搜索,date_time
并且保证最多只能返回一行。
SELECT id, date_time FROM table WHERE id=<value>;
如果id
不是唯一的,那么您仍然使用相同的查询,但如果查询变得太慢,则需要查看索引、其他约束和/或数据库外部的缓存。