Вы можете использовать эту функцию с помощью Anaconda Package .
[/g2]
Anaconda включает в себя гораздо больше функций, чем просто авто completetion. Вы можете установить пакет Jedi Package . Это автоматическое завершение, которое поставляется с Anaconda.
Это ваш запрос:
select distinct first_name
from user
where id = '1';
Вы замечаете, что user(first_name, id)
быстрее, чем user(id, firstname)
.
Во-вторых, если вы выполняете запросы только один раз, то при первом запуске запроса у вас может быть «холодный кэш». Во второй раз данные уже хранятся в памяти, поэтому они работают быстрее.
Могут возникнуть и другие проблемы. Вы не указываете, что такое время. Небольшие различия могут быть вызваны шумом и могут быть бессмысленными.
Вы не предоставили достаточно информации, чтобы дать более четкое объяснение. Это будет включать:
id
. select distinct domain
from user
where id = '1'
Поскольку id
является PRIMARY KEY
, в нем задействовано не более одной строки. Следовательно, ключевое слово DISTINCT
бесполезно.
И самый полезный индекс - это то, что у вас уже есть, PRIMARY KEY(id)
. Он развернет BTree, чтобы найти id='1'
и доставить значение domain
, которое находится прямо там.
С другой стороны, рассмотрим
select distinct domain
from user
where something_else = '1'
Теперь очевидным показателем является INDEX(something_else, domain)
. Это оптимально для предложения WHERE
, и оно «охватывает» (что означает, что все столбцы, необходимые для запроса, существуют в индексе). Обмен столбцов в индексе будет медленнее. Между тем, поскольку может быть несколько строк, DISTINCT
что-то значит. Тем не менее, это не логично, чтобы использовать.
Относительно вашего заглавного вопроса (порядок столбцов): столбцы =
в предложении WHERE
должны стоять на первом месте . (Более подробно в ссылке ниже.)
DISTINCT
означает собрать все строки, а затем лишить их дубликата. Зачем столько усилий, если это дает тот же ответ:
select domain
from user
where something_else = '1'
LIMIT 1
Это ударяет только по одной строке, а не по всем 1.
Прочитайте мою Поваренную книгу по индексированию .
(И да, у Гордона много хороших моментов.)