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

Най-добре е да използвате * при извикване на много полета в mysql?

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

* синтаксисът може да бъде по-бавен поради следните причини:

  • Не всички полета са индексирани и заявката използва пълно сканиране на таблицата. Вероятно не е вашият случай:едва ли е възможно всички полета, които връщате, да са индексирани с един индекс.

  • Връщането на крайни полета от таблица, която съдържа колони с променлива дължина, може да доведе до леки разходи за търсене:за връщане на 20th поле, предишно 19 трябва да бъдат разгледани и изчислени компенсации.

  • Просто трябва да се върнат повече данни (предадени през връзката).

Тъй като имате нужда от почти всички полета, последната причина е може би най-важната. Да речем, description TEXT полето може да бъде само 1 от 50 полета, които не се използват на страницата, но могат да заемат 10 пъти повече пространство, отколкото всички други полета заедно.

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



  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?

  2. Как мога да се предпазя от атаки с инжектиране на SQL, използвайки DBI на Perl?

  3. Преобразувайте сложна SQL заявка в SQLAlchemy

  4. Как да разрешите InnoDB:Не може да се заключи грешка ./ibdata1 mysql?

  5. Мога ли да използвам ON DUPLICATE KEY UPDATE със заявка INSERT, използвайки опцията SET?