MySQL에 배열 저장: 종합 가이드
MySQL과 같은 관계형 데이터베이스로 작업할 때 배열을 효율적으로 저장하는 것이 어려울 수 있습니다. 이 문서에서는 단일 MySQL 필드에서 배열을 저장하고 검색하는 방법에 대한 자세한 가이드를 제공합니다.
어레이 스토리지의 장점과 단점
"좋은" 방법은 없습니다. 단일 필드에 배열을 저장합니다. serialize() 및 unserialize()와 같은 함수를 사용하여 데이터 직렬화 및 역직렬화는 해결책처럼 보일 수 있지만 이 접근 방식은 쿼리 가능성과 데이터 무결성을 제한합니다.
대체 관계형 접근 방식
권장되는 접근 방식에는 배열 저장소가 필요하지 않도록 스키마를 재구성하는 것이 포함됩니다. 예를 들어 다음 배열을 고려해 보세요.
$a = [
1 => [
'a' => 1,
'b' => 2,
'c' => 3
],
2 => [
'a' => 1,
'b' => 2,
'c' => 3
],
];
이 데이터를 MySQL에 저장하려면 다음과 같은 테이블을 생성해야 합니다.
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
);
이 접근 방식을 사용하면 데이터를 효과적으로 쿼리할 수 있습니다. 다음은 MySQL 쿼리의 예입니다.
SELECT * FROM test;
INSERT INTO test (id, a, b, c) VALUES (1, 1, 2, 3);
추가 대안
단일 필드인 경우 JSON 함수 사용을 고려할 수도 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3