Все зависит от самого запроса. Если вы выполняете индексированный поиск (где indexedColumn = somevalue) или сортировку по индексированному столбцу (без предложения Where), то ограничение 1 действительно ускорит его. Если у вас есть объединения или несколько предложений where / order, то все очень быстро усложняется. Но главное, что нужно убрать, использование «LIMIT 1» НИКОГДА не замедляет запрос. Это иногда ускоряет его, но никогда не замедляет.
Теперь есть еще одна проблема при работе с PHP. По умолчанию PHP будет буферизовать весь набор результатов перед возвратом из запроса (mysql_query или mysqli-> query будут возвращаться только после загрузки всех записей). Таким образом, в то время как время запроса может немного изменяться пределом 1, время и память, которые PHP использует для буферизации результата, значительны. Представьте, что каждая строка содержит 200 байтов данных. Теперь ваш запрос возвращает 10000 строк. Это означает, что PHP должен выделить дополнительные 2 МБ памяти (на самом деле ближе к 10 МБ с накладными расходами на структуру переменных php), которые вы никогда не будете использовать. Выделение памяти может быть очень дорогим, поэтому общее правило - выделять только то, что вам нужно (или, как вам кажется, вам понадобится). Загрузка 10000 строк, когда вы хотите только 1, просто расточительна.
Объедините эти два эффекта, и вы поймете, почему, если вы хотите только 1 строку, вы должны ВСЕГДА использовать «LIMIT 1».