Добавьте немного CSS, чтобы скрыть форму входа.
$('.message a').click(
function() {
$('form').animate({height: "toggle", opacity: "toggle"}, "slow");
}
);
.login-form {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="login-page">
<div class="form">
<form class="register-form">
<input type="text" placeholder="login"/>
<input type="password" placeholder="password"/>
<input type="text" placeholder="e-mail"/>
<button>create</button>
<p class="message">Already have an account? <a href="#">Sign in!</a></p>
</form>
<form class="login-form">
<input type="text" placeholder="login"/>
<input type="password" placeholder="password"/>
<button>Sign in</button>
<p class="message">Need an account? <a href="#">Register!</a></p>
</form>
</div>
</div>
Они чрезвычайно эквивалентны друг другу (на самом деле, это - то, как некоторые базы данных реализуют DISTINCT
под капотом).
, Если один из них быстрее, это будет DISTINCT
. Это вызвано тем, что, хотя эти два являются тем же, оптимизатор запросов должен был бы поймать то, которое Ваш GROUP BY
не использует в своих интересах элементов группы, просто их ключи. DISTINCT
делает это явным, таким образом, можно сойти с рук немного более немой оптимизатор.
, Когда в сомнении, тесте!
ВЫБЕРИТЕ ОТЛИЧНЫЙ, всегда будет то же, или быстрее, чем GROUP BY. В некоторых системах (т.е. Oracle), это могло бы быть оптимизировано для совпадения с ОТЛИЧНЫЙ для большинства запросов. На других (таких как SQL Server), это может быть значительно быстрее.
Если Вы не должны делать никаких функций группы (сумма, среднее число и т.д. в случае, если Вы хотите добавить числовые данные к таблице), используйте ОТЛИЧНЫЙ ВЫБОР. Я подозреваю, что это быстрее, но у меня нет ничего для показа для него.
В любом случае, если Вы волнуетесь по поводу скорости, создают индекс на столбце.
Кажется, что запросы не являются точно тем же. По крайней мере, для MySQL.
Сравните:
, который второй запрос дает дополнительно "Используя filesort" в Дополнительном.
Пойдите для самого простого и самого короткого, если Вы можете - ОТЛИЧНЫЙ, казаться, быть больше, что Вы ищете только потому, что это даст Вам ТОЧНО ответ, в котором Вы нуждаетесь и только это!
Если у Вас есть индекс на profession
, эти два являются синонимами.
, Если Вы не делаете, затем используйте DISTINCT
.
GROUP BY
в MySQL
результаты видов. Можно даже сделать:
SELECT u.profession FROM users u GROUP BY u.profession DESC
и отсортировали Ваши профессии в DESC
порядок.
DISTINCT
составляет временную таблицу и использует его для хранения дубликатов. GROUP BY
делает то же, но сортирует отличные результаты впоследствии.
Так
SELECT DISTINCT u.profession FROM users u
быстрее, если у Вас нет индекса на profession
.