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

MySQL Има ли ограничение за InnerJoin?

Нямате близо до границата на JOIN за MySQL. Вашият брой присъединявания не е лош. Въпреки това, присъединяването към производна таблица (вашата вътрешна подзаявка), както правите, може да причини проблеми с производителността, тъй като производните таблици нямат индекси. Извършването на свързване на извлечена таблица без индекси може да бъде бавно.

Трябва да помислите за създаването на истинска временна таблица с индекси за присъединяване или да измислите начин да избегнете подзаявката.

ПРИСЪЕДИНЯВАНЕТО в MySQL по същество е като извършване на търсене (търсене) за всеки присъединен ред. Така че MySQL ще трябва да извърши много търсения, ако се присъединявате към много записи. Това може да бъде проблем по-малко за това колко таблици се присъединявате, отколкото броя на редовете, към които се присъединявате.

Както и да е, MySQL ще извърши само толкова много търсения, преди да се откаже и просто да прочете цялата таблица. Той върши доста добра работа при вземането на решение кое ще бъде по-евтино.

Може би най-доброто нещо, което можете да направите, е да му помогнете да познае, като актуализирате статистиката на индекса с ANALYZE TABLE.

Можете да имате една клауза WHERE на SELECT. Така че вашата вътрешна подзаявка ще има клауза WHERE и външната ви заявка ще има клауза WHERE и те се прилагат след JOIN (поне логично, въпреки че 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. Какви са настройките на драйвера на JDBC-mysql за нормално боравене с DATETIME и TIMESTAMP в UTC?

  2. Създаване на таблица с помощта на vb.net, mysql

  3. ГРЕШКА 1115 (42000):Неизвестен набор от знаци:'utf8mb4'

  4. Не е ли нулевата стойност на PHP равна на нулевата стойност на MySQL?

  5. Има ли алтернатива на TOP в MySQL?