-1

我有下表

CREATE TABLE `jobs` (
`job_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`job_name` VARCHAR( 255 ) NOT NULL ,
`job_desc` VARCHAR( 255 ) NOT NULL ,
`job_date` DATETIME NOT NULL
) ENGINE = MYISAM ;

假设此表包含 600,000 个条目

问题一:哪一个好用,可以提高查询性能?

SELECT job_name FROM jobs WHERE job_id = 10005

Vs

SELECT job_name FROM jobs WHERE job_id = 10005 LIMIT 1

问题2:如果我使用它有什么缺点?

SELECT job_name FROM jobs WHERE job_id = 10005 LIMIT 1
4

1 回答 1

0

据我所知,LIMIT 有助于对数据进行分页。因此,当查询包含/不包含 LIMIT 子句时,肯定会有性能差异。

'LIMIT n' 限制返回的行数。下面将仅返回前 20 行。

SELECT employee FROM employees WHERE deparment_id = 1 LIMIT 20

但是 'LIMIT n,p' 对匹配的记录进行分页。例如,下面将返回与 WHERE 条件匹配的第 11 到第 16 条记录。

SELECT employee FROM employees WHERE deparment_id = 1 LIMIT 10,5

因此,在返回的行数很大的情况下,LIMIT 会提高性能。但是,这可能会因匹配的行数和分页范围而异。

于 2013-06-27T10:58:01.553 回答