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

JOIN заявки срещу множество заявки

За вътрешни обединения една заявка има смисъл, тъй като получавате само съвпадащи редове. За левите обединения множеството заявки са много по-добри... вижте следния сравнителен тест, който направих:

  1. Единична заявка с 5 присъединявания

    заявка:8.074508 секунди

    размер на резултата:2268000

  2. 5 заявки подред

    комбинирано време за заявка:0,00262 секунди

    размер на резултата:165 (6 + 50 + 7 + 12 + 90)

.

Имайте предвид, че получаваме едни и същи резултати и в двата случая (6 x 50 x 7 x 12 x 90 =2268000)

левите съединения използват експоненциално повече памет с излишни данни.

Ограничението на паметта може да не е толкова лошо, ако правите обединяване само на две таблици, но обикновено три или повече и си струва различни заявки.

Като странична бележка, моят 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 в Ubuntu

  2. Разлики между SQL и NoSQL бази данни – Сравнение на MySQL и MongoDB

  3. MySQL REPLACE() – Заменете всички екземпляри на подниз с друг низ

  4. JSON_SET() срещу JSON_INSERT() срещу JSON_REPLACE() в MySQL:Каква е разликата?

  5. DATE_SUB() Примери – MySQL