MySQL에 배열 저장: 종합 가이드
MySQL과 같은 관계형 데이터베이스로 작업할 때 배열을 효율적으로 저장하는 것이 어려울 수 있습니다. 이 문서에서는 단일 MySQL 필드에 배열을 저장하고 검색하는 방법에 대한 자세한 가이드를 제공합니다.
어레이 스토리지의 장점과 단점
내재적으로 "좋은" 방법은 없습니다. 단일 필드에 배열을 저장합니다. serialize() 및 unserialize()와 같은 함수를 사용하여 데이터 직렬화 및 역직렬화는 해결책처럼 보일 수 있지만 이 접근 방식은 쿼리 가능성과 데이터 무결성을 제한합니다.
대체 관계형 접근 방식
권장되는 접근 방식에는 배열 저장소가 필요하지 않도록 스키마를 재구성하는 것이 포함됩니다. 예를 들어 다음 배열을 고려해 보세요.
<code class="php">$a = [ 1 => [ 'a' => 1, 'b' => 2, 'c' => 3 ], 2 => [ 'a' => 1, 'b' => 2, 'c' => 3 ], ];</code>
이 데이터를 MySQL에 저장하려면 다음과 같은 테이블을 생성합니다.
<code class="sql">CREATE TABLE test ( id INT UNSIGNED NOT NULL PRIMARY KEY, a INT UNSIGNED NOT NULL, b INT UNSIGNED NOT NULL, c INT UNSIGNED NOT NULL );</code>
이 접근 방식을 사용하면 데이터를 효과적으로 쿼리할 수 있습니다. . 다음은 MySQL 쿼리의 예입니다.
<code class="sql">SELECT * FROM test; INSERT INTO test (id, a, b, c) VALUES (1, 1, 2, 3);</code>
추가 대안
단일 필드에 배열을 저장해야 하는 경우 JSON 함수 사용을 고려할 수도 있습니다.
위 내용은 MySQL 데이터베이스에 배열을 효율적으로 저장하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!