gpt4 book ai didi

mysql - 国际象棋场景中 100 万行 MySQL 表的性能

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:13 24 4
gpt4 key购买 nike

假设我经营一个游戏网站,用户可以在该网站上互相下棋。我有一个 MySQL 表,其中包含所有游戏及其各自的国际象棋 Action :

游戏表(伪语法):

gameId INT
player1Id INT
player2Id INT
gameEnded DATETIME NULL
gameNotation TEXT

几行可以看起来像:

30021, 2001, 3020, '2013-08-01 12:00:00', '1. e4 e5 2. Nf3 Nf6'
30022, 3020, 2001, NULL, '1. d4'

gameNotation 字段可以变得非常大,移动次数为 100 次或更多。

关于我的问题:我的表与上面类似,包含 100 万行并且还在增加,这使得它在性能方面具有挑战性。

您将如何对这个表进行分区 (MySQL 6.5)?或者您是否会将 gameNotation 列移动到它自己的表中?我在同一张 table 上同时有正在进行的和结束的游戏,也许我应该把它们分开?我不确定从性能角度来看什么最有意义。

感谢您的宝贵时间!

最佳答案

这将需要适当的索引,但 100 万行并没有那么大。

关键问题可能出在您的 TEXT 列上,它包含多个值——因此需要全文搜索和/或线性搜索。您可以更改数据库结构以存储单个值,方法可能是将移动 移动到它们自己的表中并使用一对多关系。

这将有减少碎片的额外好处,因为您的所有记录都将具有相同的大小(假设没有其他可变大小的列)。

关于mysql - 国际象棋场景中 100 万行 MySQL 表的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18000167/

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