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

Наистина ли си струва да се нормализира начинът на Toxi? ( 3NF )

Наличието на всички маркери в различни записи (нормализирани) означава, че ще можете да преименувате етикетите по-лесно, ако възникне необходимост, и да проследявате историята на имената на маркера.

SO , например, преименуван на SQL Server свързани маркери поне три пъти (mssql -> sqlserver -> sql-server ).

Наличието на всички тагове в един запис (денормализиран) означава, че можете да индексирате тази колона с FULLTEXT индексирайте и търсете публикации с два или повече маркера наведнъж:

SELECT  *
FROM    posts
WHERE   MATCH(tags) AGAINST('+mma +ufc')

което също е възможно, но по-малко ефективно с нормализиран дизайн.

(Не забравяйте да коригирате @ft_min_word_len за индексиране на тагове на 3 символи или по-малко, за да работи това)

Можете да комбинирате и двата дизайна:съхранявайте както таблицата на картата, така и денормализираната колона. Това обаче ще изисква повече поддръжка.

Можете също така да съхраните нормализирания дизайн във вашата база данни и да използвате заявката, която сте предоставили, за да подадете етикетите на Sphinx или Lucene .

По този начин можете да копаете история с MySQL , пълнотекстови маркери за търсене с помощта на Sphinx , и няма да е необходима допълнителна поддръжка.



  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 на CentOS 7

  2. Неправилен ключов файл с MySQL

  3. Грешка при получаване на идентификатор на ресурс #3 в MySql

  4. Не може да стартира нищо от mysql-utilities:Няма модул с име mysql.utilities.common.tools

  5. Научете как да импортирате данни от Excel в база данни на MySQL