我有下表
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个条目
问题1:哪一个好用,有可能提高查询性能?
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
答案 0 :(得分: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会提高性能。但是,这可能会根据匹配的行数和分页范围而有所不同。