gpt4 book ai didi

php - 多个数据存储和获取的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-29 10:24:39 25 4
gpt4 key购买 nike

下表每个owner都有自己的页面,当有人访问时,会出现所有带有SecretCodesSeats

OwnersSeats
[id - ownderid - type - Seat1 - SecretCode2 -> Seat50 - SecretCode50 ]
[1 - 3 - Premium - Mark - v2ttvgwrxt5cg36g3c63g36c3c54c26y4e73c6 -> Max - c4wghwh65qcg45g5qx3 ]
[2 - 3 - Standard - Jerry - 36vyh36cyh6y6wc363v636vc3yc6y3v7y37 -> Marco - h7wv5cg6qg6qcgqx3xgf5qwy4h]
[3 - 7 - Enterprise - Sonia - c3m73uhyv73vyhu3h33c65g33c7v373v73v7 -> John - 5ctev5hmkbjev7h7kje ]

对于每个 Seat* VARCHAR(24),SecretCode* TEXT 可以改为 VARCHAR(512)。

然后我使用此查询选择它们

选择 ownderid、类型、Seat1、SecreCode2 -> 50 FROM 座位 WHERE Ownerid = :ownerid

处理此问题的最佳方法是什么,以使其高效、执行良好且更易于使用和编辑?

我考虑过将所有座位存储在表格内的数组中作为 TEXT 像这样

$SS = [
s1 => 'Mark', sc1 => 'v2ttvgwrxt5cg36g3c63g36c3c54c26y4e73c6',
s2 => '~~', sc2 => '~~~~~~~',
s3 => '~~', sc3 => '~~~~~~~',
s4 => '~~', sc4 => '~~~~~~~', -> 50
];

但我不知道这对性能是好是坏。

我想将其限制50,所以我有100列[SS] 50个席位 50 SecretCode,我是否使用标准化来处理这个问题?

我认为最好将所有 SS 放在一行中,以便与所有 ownerid 数据一起一次性获取,因为我认为它会是更快。

另外,我不知道如何从标准化表中获取所有SS,而不使用第二个查询来获取所有相关的来自它的数据或使用GROUP_CONCAT(),所以我想知道哪一个更适合使用性能。

[OSid - Seat  - SecretCode                            ]
[1 - Mark - v2ttvgwrxt5cg36g3c63g36c3c54c26y4e73c6]
~48 ]
[1 - Max - c4wghwh65qcg45g5qx3 ]
[2 - Jerry - 36vyh36cyh6y6wc363v636vc3yc6y3v7y37 ]
~48 ]
[2 - Marco - h7wv5cg6qg6qcgqx3xgf5qwy4h ]
[3 - Sonia - c3m73uhyv73vyhu3h33c65g33c7v373v73v7 ]
~48 ]
[3 - John - 5ctev5hmkbjev7h7kje ]

最佳答案

我使用的是答案,而不是评论,因为评论非常有限。我想我开始理解你的 table 了。因此,我将仅使用这些列重写表格:

id
ownderId
type
seat
secretCode

数据如下所示:

[id - ownderId - type       - seat   - secretCode                             ]
[1 - 3 - Premium - Mark - v2ttvgwrxt5cg36g3c63g36c3c54c26y4e73c6 ]
[2 - 3 - Standard - Jerry - 36vyh36cyh6y6wc363v636vc3yc6y3v7y37 ]
[3 - 7 - Enterprise - Sonia - c3m73uhyv73vyhu3h33c65g33c7v373v73v7 ]
[4 - 3 - Premium - Max - c4wghwh65qcg45g5qx3 ]
[5 - 3 - Standard - Marco - h7wv5cg6qg6qcgqx3xgf5qwy4h ]
[6 - 7 - Enterprise - John - 5ctev5hmkbjev7h7kje ]

如果座位号对您很重要,您可以添加一个包含该号码的列。像这样:

[id - ownderId - type       - seatNo - seat   - secretCode                             ]
[1 - 3 - Premium - 1 - Mark - v2ttvgwrxt5cg36g3c63g36c3c54c26y4e73c6 ]
[2 - 3 - Standard - 1 - Jerry - 36vyh36cyh6y6wc363v636vc3yc6y3v7y37 ]
[3 - 7 - Enterprise - 1 - Sonia - c3m73uhyv73vyhu3h33c65g33c7v373v73v7 ]
[4 - 3 - Premium - 50 - Max - c4wghwh65qcg45g5qx3 ]
[5 - 3 - Standard - 50 - Marco - h7wv5cg6qg6qcgqx3xgf5qwy4h ]
[6 - 7 - Enterprise - 50 - John - 5ctev5hmkbjev7h7kje ]

该表现已标准化。同一类型的数据不再出现在多个列中。这将使您的查询如下所示:

SELECT seatNo, seat, secreCode FROM seats WHERE ownerId = :ownerid

对数据的任何其他查询都是类似的。

关于php - 多个数据存储和获取的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48549758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com