Tôi đang cố gắng để có được sự cân bằng tốt về khả năng tìm kiếm và tốc độ. Tôi đang thử nghiệm các phương pháp khác nhau.
Tùy chọn 1: Tuần tự hóa mảng dưới dạng mảng tuần tự JSON / PHP và lưu trữ nó trong cột 'meta'.
id | name | meta
1 Bob {"city":"GoTown","birthdate":"1980\/8\/14","cat":"Felix"}
2 Alice {"city":"Streamville","birthdate":"1986\/6\/6","dog":"Rex"}
Tùy chọn 2: Lưu trữ các khóa và giá trị với nhau trong một ngăn xếp.
user_id | key | value
1 name Bob
1 city GoTown
1 birthdate 1980/8/14
1 cat Felix
2 name Alice
2 city Streamville
2 birthdate 1986/6/6
2 dog Rex
Tùy chọn 3: 3 bảng: quyền, khóa, giá trị. Lưu trữ mỗi tên khóa chỉ một lần.
user_id | name
1 Bob
2 Alice
key_id | keyname
1 city
2 birthdate
3 cat
4 dog
user_id | key_id | value
1 1 GoTown
1 2 1980/8/14
1 3 Felix
2 1 Streamville
2 2 1986/6/6
2 4 Rex
Có bất kỳ cạm bẫy với việc sử dụng bất kỳ chiến lược trong số này? Tôi muốn loại bỏ một số trong số họ nếu họ có những nhược điểm không thể vượt qua.
EDIT: Đã thêm một số dữ liệu để biểu thị dữ liệu không có lược đồ