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

Два дублиращи се индекса с еднакви колони

Да, може да има ефект.

Разбира се, двата индекса заемат допълнително място на диска, а също и в паметта, ако се използват.

Но те също така карат оптимизатора на заявки да върши повече работа, за да изчисли ползата от всеки индекс по време на всеки SELECT. Колкото повече индекси имате, толкова повече случаи трябва да се сравняват. Така че се отплаща да премахнете наистина излишните индекси.

Както други също отбелязаха, индексите се актуализират по време на операции INSERT/UPDATE/DELETE, така че колкото повече индекси имате, толкова повече излишни разходи представлява това. Индексите, които се използват много, оправдават собствените си допълнителни разходи, но дублираните индекси отнемат повече допълнителни разходи без допълнителни ползи за съпоставяне.

Ако се интересувате, Percona Toolkit има инструмент pt-duplicate-key-checker който търси във всичките ви таблици случаи като този.



  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. Mysql премахва времевия компонент от datetime

  3. Laravel:лява заявка за присъединяване

  4. MYSQL Добавяне на работни дни към дата

  5. Преобразувайте Unix timestamp в четлива от човека дата с помощта на MySQL