MySQL数据库中的文件处理?

时间:2010-06-21 06:19:08

标签: mysql filehandle

我不知道这个概念是否存在。我们可以将文件和相关信息存储在MySQL数据库中吗?如果答案是肯定的,那么如何?

3 个答案:

答案 0 :(得分:1)

您可以将文件的内容存储在BLOB中,但通常最好只将文件的位置存储为varchar,并将文件的实际内容存储在文件系统中。

答案 1 :(得分:1)

是的,但要确保你真的想要。

MySQL有一个“BLOB”(和相关的)列类型,可用于存储任意二进制数据,这与存储字符串的方式非常相似(它只是一串位而不是一串字符串一个字符)值。

问题是从数据库提供文件是非常低效的(文件系统要快得多),以及给数据库带来不必要的压力。因此,如果可以,您通常更善于使用真实文件并且只在数据库中存储元数据。或者,至少将文件缓存到文件系统。

答案 2 :(得分:0)

如果答案是肯定的,那么为什么?
文件系统本身已经是一个数据库。一个非常好的。处理由文件名键入的文件。
虽然关系数据库(如mysql)旨在处理数据内容 - 对其进行排序,过滤它,与之建立关系。二进制文件内容无法做到这一点。 您必须有充分的理由将文件放入关系数据库。不是“为什么不呢?”之一。