在 phpMyAdmin SQL 表中存储大型数据集的有效方法

Posted

技术标签:

【中文标题】在 phpMyAdmin SQL 表中存储大型数据集的有效方法【英文标题】:Efficient way of storing large data set in phpMyAdmin SQL table 【发布时间】:2014-02-09 22:03:50 【问题描述】:

我有一个很大的练习列表,我当前存储在一个 SQL 表中,其中一列中有唯一索引值 (int),另一列中有练习名称。我正在尝试确定一种将练习集存储为锻炼的有效方法。

到目前为止,我有两个想法,但不确定哪个最有效(从存储和速度的角度来看)。这些是我正在考虑的想法:

解决方案 1 创建一个新表,其中包含每个锻炼的列,根据它是否在锻炼中,该列将具有 1 或 0。锻炼将是一个索引列,具有唯一的 int id。

解决方案 2 创建一个新表,其中包含一个表示唯一锻炼的索引列。第二列包含一组与训练集相对应的数字。我更喜欢这个选项的是它可以让我在锻炼中保持锻炼的顺序。

虽然我目前只有约 800 次锻炼和约 400 次锻炼的列表,使 (1) 数组大小为 800 x 400,而 (2) 为 400 x 2. 但是,如果可以选择创建新的锻炼(假设锻炼列表将被固定),表 (1) 的增长速度会显着加快。

有没有人对如何在这种情况下最小化尺寸和保持速度提出建议?

【问题讨论】:

phpMyAdmin 不是数据库,它只是 mysql 的 GUI。 MySQL 是您的 SQL 数据库。 setidset name 的表; setexercisesidsetIdexerciseId(可能还有 orderId)的表 【参考方案1】:

我喜欢 #2,但如果您想要更强大的解决方案,您也可以有 3 个表:

    练习 锻炼 workout_exercises

此外,我通常不会将每次锻炼的练习存储为数组。在该字段中使用 sql 搜索特定练习会很困难,例如:

哪些锻炼包含锻炼 XYZ?

您的桌子尺寸实际上很小。当您有 10,000 条记录或 100,000 条记录时,您可以开始考虑大小问题。

【讨论】:

以上是关于在 phpMyAdmin SQL 表中存储大型数据集的有效方法的主要内容,如果未能解决你的问题,请参考以下文章

将大型 .sql 文件导入数据库 - 重复超时错误 phPMYAdmin

在 phpMyadmin 中导入大型 SQL 文件 [重复]

在 phpMyAdmin 中上传大型数据库

如何将大型数据库导入 phpmyadmin

从 XAMPP PHPmyadmin 将 SQL 数据检索到 HTML

导出大型数据库 mysql phpmyadmin