【问题标题】:Should MySQL temp tables be indexed (or have a primary key)?MySQL 临时表是否应该被索引(或具有主键)?
【发布时间】:2013-08-11 05:42:38
【问题描述】:

我正在 MySQL 中创建一个存储过程,它根据它处理的数据创建大量临时表。

几乎完成该过程后,我想知道...这些即时创建的临时表真的需要唯一键、主键或索引吗?

在我看来,数据不是永久的,所以没有必要,但也许它提供了某种优化?

提前谢谢你。

【问题讨论】:

    标签: mysql stored-procedures indexing temp-tables


    【解决方案1】:

    我们(大部分)使用索引和键来优化搜索。由于您的数据是临时的(我想您不必这样做),但最终您必须看到您必须对该数据执行的操作和索引之间的权衡。引入主键不需要任何额外的处理(当然您的该列的数据必须经过规范)。
    如果您能提供更多关于您必须如何处理数据的信息,我可以为您提供更多帮助。
    另外我个人建议你不要使用 MYSQL 来创建临时表。而是在本地使用 JSON 文件

    【讨论】:

    • 感谢您的回复。我不想跳出 MySQL 并进入服务器代码,因为我只是在处理数据,然后将其存储在适当的表中。这样我可以避免额外的旅行并提高速度。为什么不呢,因为 MySQL 可以进行处理,尽管我知道它主要用于存储。就我而言,我从句子中提取单词,分析它们重复的次数。对他们进行排名。然后根据单词排名组织句子。最后,我想将摘要保存回表格中。总结是我想向用户展示的内容以及我为什么要尝试留在 MySQL 中。
    • 好的!我个人建议您在没有 MySQL 的情况下进行处理。为什么 ?因为插入表格需要很多时间......为什么不使用您的服务器语言来进行这种类型的处理,我认为数组将非常适合。但是如果您仍然希望使用 MYSQL 并且您的数据相当大,我建议您使用索引!我希望这会有所帮助...
    • 感谢您的建议,非常感谢。呵呵,我知道我的头脑很顽固。
    • 谢谢!但是,如果您真的认为我对您有所帮助,请 +1 答案,如果您的问题已解决,请将答案标记为已解决。它可以让我更好地访问网站(正如你所看到的,我什至无法为这个声誉 +1)
    猜你喜欢
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2010-10-24
    • 2020-02-25
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多