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

Добра идея ли е да индексирате поле за дата и час в mysql?

MySQL препоръчва използването на индекси по различни причини, включително елиминиране на редове между условия:http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

Това прави вашата колона дата и час отличен кандидат за индекс, ако ще я използвате при условия често в заявки. Ако единственото ви условие е BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 30 DAY) и нямате друг индекс в условието, MySQL ще трябва да направи пълно сканиране на таблицата при всяко запитване. Не съм сигурен колко реда се генерират за 30 дни, но стига да е по-малко от около 1/3 от общия брой редове, ще бъде по-ефективно да се използва индекс за колоната.

Въпросът ви относно създаването на ефективна база данни е много широк. Бих казал просто да се уверите, че е нормализиран и всички подходящи колони са индексирани (т.е. тези, използвани в съединения и клаузи where).



  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. Кой е най-добрият начин за съхраняване на потребителски изображения с помощта на PHP и MySQL?

  3. Как да нулирате паролата на администратор на WordPress чрез командния ред на MySQL

  4. Защо MySQL позволява групиране по заявки БЕЗ агрегатни функции?

  5. Синтаксис на MySQL при създаване на външен ключ