下表中每个owner
都有自己的页面,当有人访问时,所有Seats
都会显示SecretCodes
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
Can be VARCHAR(512) instead.
然后我使用此查询
选择它们 SELECT ownderid, type, Seat1, SecreCode2 -> 50 FROM seats WHERE ownerid = :ownerid
处理此问题的最佳方法是高效,良好的预处理以及更易于使用和编辑?
我考虑将表格中的所有席位存储为TEXT
这样的
$SS = [
s1 => 'Mark', sc1 => 'v2ttvgwrxt5cg36g3c63g36c3c54c26y4e73c6',
s2 => '~~', sc2 => '~~~~~~~',
s3 => '~~', sc3 => '~~~~~~~',
s4 => '~~', sc4 => '~~~~~~~', -> 50
];
但我不知道表现的好坏。
我希望limit
将50
改为100 column[SS]
,我有50 Seats
50 SecretCode
normalization
,我是否使用SS
来处理此问题?
我认为最好将所有ownerid
放在一行中,并使用所有SS
数据一次性获取,因为我认为它会更快。
此外,我不知道如何在不使用normalized table
从second query
获取所有相关数据或使用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 ]
获取所有TypeScript
,所以我想知道哪一个更适合使用性能。
$.post(this.serviceUrl + '/GetMyCodes', JSON.stringify(item.MyCodeList.trim()), function (CodeData: Something.SomethingElse) {
答案 0 :(得分:1)
我正在使用答案,而不是评论,因为评论非常有限。我想我开始明白你的表了。所以我只用这些列重写表:
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
对数据的任何其他查询都是类似的。