在第一行之后停止MySQL查询

时间:2013-02-21 12:37:12

标签: php mysql optimization

我有一段MySQL代码可以搜索相当冗长的mysql数据库。多次完成时,需要很长时间,尽管代码中唯一需要检查是否存在至少一个条目。是否可以指示mysql代码在找到一行后停止搜索?感谢。

3 个答案:

答案 0 :(得分:4)

在查询结束时尝试LIMIT 1

答案 1 :(得分:0)

如果您只想搜索一件事,那么必须有一些与之关联的主键。所以在查询中你可以在where子句中包含一些只会带来一个结果的子句。像这样的东西

    select * from students where id='123' 

由于主键是唯一键,因此不会有任何重复,只会进行一次搜索。

答案 2 :(得分:0)

SELECT * FROM tablename LIMIT 1 OFFSET 0
  • LIMIT将设置您想要的最大项目
  • OFFSET让你说明开始查询的起点

组合LIMIT和OFFSET可以非常精确地控制在多个会话中获取大量数据库行。

或使用更简单的2参数LIMIT功能(与LIMIT,OFFSET相同):

SELECT * FROM tablename LIMIT 1, 0