저는 MySQL을 사용하여 PHP의 매장 애플리케이션을 개발 중입니다. 현재 4 개의 테이블에 데이터를 저장하고 있습니다. 하나는 제품 라인, 다른 하나는 제품 라인의 특정 제품, 다른 하나는 제품 이미지, 다른 하나는 특정 제품에 연결된 이미지를 지정하는 테이블입니다. 각 특정 제품은 하나의 제품 라인에 속하며 각 제품 이미지는 여러 특정 제품에 속할 수 있으며 각 특정 제품에는 여러 이미지가있을 수 있습니다. 내 표는 다음과 같습니다.온라인 상점을위한 제품 및 제품 이미지 데이터는 어떻게 저장해야합니까?
ProductLines
id, name, description, etc.
SpecificProducts
productLineID
id, color, size, etc.
ProductImageLinks
specificProductID
imageID
Images
id, imageFileLocation, name, etc.
이 방법으로 잘 작동하지만 검색 목적으로는 그리 효율적이지 않은 것처럼 보입니다.
예를 들어 각 제품 라인을 해당 제품 라인에서 임의로 선택한 이미지의 축소판과 함께 나열하는 페이지가 있습니다. 이렇게하려면 먼저 모든 제품 라인의 목록을 데이터베이스에 쿼리 한 다음 각 제품 라인에 대한 별도의 쿼리를 수행하여 이미지가있는 특정 제품을 모두 가져 와서 그 중 하나를 선택한 다음 다시 쿼리해야합니다 이미지를 얻기 위해서.
제가 생각한 또 다른 가능성은 내가보고있는 모든 제품 라인을 얻는 것, 두 번째 쿼리는 모든 제품 라인을위한 모든 특정 제품을 얻는 것, 세 번째 쿼리는 모든 제품 라인을 가져 오는 것입니다. 어떤 이미지가 어떤 특정 제품에 링크되어 있는지를 지정하는 이미지 링크, 그리고 모든 이미지를 얻기위한 네 번째 쿼리. 조회 수가 줄어들어 조금 더 빨라지 겠지만, PHP가 제품 라인과 제품 및 이미지 간의 연결을 파악하는 데 많은 시간을 할애 할 수 있습니다. 느린 수 있습니다.
내 질문에이 데이터를 저장하는 더 좋은 방법이 있습니까? 이미 가지고있는 데이터베이스를 기반으로 검색하는 더 좋은 방법은 없을까요? 아니면 실제로 최선의 방법이라고 생각했던 두 가지 옵션 중 하나입니까?
편집 : 실제로 이미지 파일을 데이터베이스에 저장하지 않습니다. 이미지 파일은 파일 시스템에 저장됩니다. 데이터베이스의 내 "이미지"테이블은 이미지 제목, 대체 텍스트 등과 같은 유용한 정보와 함께 이미지 파일의 위치를 저장합니다.
언제 이미지를 검색하나요? 브라우저가 요청할 때까지 가져올 필요가 없습니다. 따라서 이미지 가져 오기는 해당 페이지를 구축하는 과정에 포함되어서는 안됩니다. html에 링크 만 삽입해야합니다. – nos
"image"로 말하면 방금 이미지 용 데이터 구성을 의미했습니다. . 이미지 파일의 URL을 알려주는 데이터베이스의 데이터뿐 아니라 대체 텍스트와 같은 유용한 정보를 검색합니다. 죄송합니다. – Robert