mysql에서 쉼표로 구분된 저장은 좋지 않습니다. 고려해야 할 요소는 다음과 같습니다. 1. 데이터 중복성 및 표준화. 값 중 하나를 쿼리하거나 업데이트해야 할 때마다 쉼표를 구문 분석하고 처리하는 문자열 작업이 필요합니다. 2. 쉼표로 구분된 값을 기반으로 한 데이터 쿼리 및 인덱싱에는 문자열 작업 및 퍼지 일치가 포함되므로 쿼리 효율성이 낮습니다. 3. 쉼표에 하위 값이 있는 경우 데이터 업데이트 및 유지 관리 구분된 값을 업데이트해야 합니다. 여기에는 전체 쉼표로 구분된 문자열을 수정하고 다시 저장하는 작업이 포함됩니다.
이 튜토리얼의 운영 체제: Windows 10 시스템, MySQL 8 버전, Dell G3 컴퓨터.
쉼표로 구분된 데이터를 저장에 사용하는 것이 어떤 경우에는 효과가 있을 수 있지만 일반적으로 좋은 방법은 아닙니다.
다음은 몇 가지 고려 사항입니다.
데이터 중복성 및 정규화:
쉼표로 구분된 값을 단일 필드에 직접 저장하면 데이터 중복성 문제가 발생합니다. 값 중 하나를 쿼리하거나 업데이트해야 할 때마다 쉼표로 구분된 값을 구문 분석하고 처리하기 위해 문자열 작업이 필요합니다. 이러한 저장은 데이터베이스의 규범적 원칙을 위반합니다. 즉, 각 속성은 자체 필드를 가져야 합니다.
데이터 쿼리 및 인덱싱:
쉼표로 구분된 값을 기반으로 쿼리해야 하는 경우 문자열 연산 및 퍼지 일치가 포함되므로 쿼리 효율성이 낮아집니다. 동시에 인덱스는 일반적으로 단일 필드를 대상으로 하기 때문에 이러한 쿼리는 일반 인덱스를 통해 최적화될 수 없습니다.
데이터 업데이트 및 유지 관리:
쉼표로 구분된 값의 하위 값을 업데이트해야 하는 경우 전체 쉼표로 구분된 문자열을 수정하고 다시 저장해야 합니다. 이로 인해 추가 오버헤드가 발생하고 데이터 불일치가 발생하기 쉽습니다.
대신 관련 값을 별도의 테이블로 분할하고 적절한 관계를 사용하여 조인을 설정하는 것이 좋습니다. 예를 들어 특정 엔터티와 연결된 값이 여러 개 있는 경우 연결 테이블(조인 테이블)을 사용하여 이러한 연결을 저장할 수 있습니다. 이를 통해 더 나은 데이터 구조와 쿼리 성능을 제공하고 데이터 조작 및 유지 관리가 더 쉬워집니다.
간단히 말하면, 데이터를 저장하기 위해 쉼표 구분을 사용하는 것을 피하고 대신 표준화된 데이터베이스 디자인과 관계형 모델을 사용하여 데이터의 신뢰성, 쿼리 가능성 및 유지 관리성을 향상시키십시오.
위 내용은 mysql에서 쉼표로 구분된 저장소를 저장하는 것이 좋나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
if($res){
return json_encode(array('code'=>1,'msg'=>'成功'));
}else{
return json_encode(array('code'=>0,'msg'=>'失败'));
}
}
public function
}
if($res){
return json_encode(array('code'=>1,'msg'=>'成功'));
}else{
return json_encode(array('code'=>0,'msg'=>'失败'));
}
}
public function
}
if($res){
return json_encode(array('code'=>1,'msg'=>'成功'));
}else{
return json_encode(array('code'=>0,'msg'=>'失败'));
}
}
public function
}
if($res){
return json_encode(array('code'=>1,'msg'=>'成功'));
}else{
return json_encode(array('code'=>0,'msg'=>'失败'));
}
}
public function
}