1
나는 플랫폼이 사용을 참조하십시오여러 개의 ID를 varchar로 저장하고 FIND_IN_SET을 사용해야하나요?
SELECT * FROM properties, categories, property_categories
WHERE 1
AND categories.name = "Some category name here" # match this category name
AND categories.id = property_categories.id_category # match category
AND properties.id = property_categories.id_property # and match property
하지만 최근 응용 프로그램에서 본과 카테고리별로
- properties table -
id | name | ID_CATEGORY (INT)
- categories table -
id | name
- property_categories -
id_category | id_property
그리고 검색 속성을이 (2 개 테이블 대신 3) :
- properties table -
id | name | ID_CATEGORY (VARCHAR(255))
- categories table -
id | name
다음 쿼리를 사용하여 범주별로 속성을 검색하는 중 :
SELECT * FROM properties, categories
WHERE 1
AND categories.name = "Some category name here" # match this category name
AND FIND_IN_SET(categories.id, properties.ID_CATEGORY)
성능상의 이점이 있습니까? 두 번째 방법을 사용하여 첫 번째 방법을 사용해야합니까? 이것을 그대로두면 괜찮습니까?
가끔씩 (ID_TYPE, ID_STATUS 등을 포함하여) 여러 필드가 결합되어 있으며 필터를 위해 모든 데이터를 함께 결합하는 큰 JOIN이 있습니다.