Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо не трябва да използвате DISTINCT, когато можете да използвате GROUP BY?

Ако знаете, че две колони от вашия резултат винаги са пряко свързани, тогава е по-бавно да направите това:

SELECT DISTINCT CustomerId, CustomerName FROM (...)

от това:

SELECT CustomerId, CustomerName FROM (...) GROUP BY CustomerId

защото във втория случай трябва само да сравни идентификатора, но в първия случай трябва да сравни и двете полета. Това е специфичен за MySQL трик. Няма да работи с други бази данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL таблица като FIFO/опашка

  2. Задържане на множество елементи в колона на mysql

  3. MySQL Limit LEFT JOIN Подзаявка след присъединяване

  4. ssh първо с mysqldb в python

  5. Функцията на PHP и MySQL изтрива непроверени категории от проблема с базата данни