Blob数据types?

blob数据types还可以存储video数据吗?

将video存储在SQLite数据库是一个可怕的想法。 不要这样做。

不要把大的BLOB放在数据库中。 把它们放在数据库文件旁边的文件系统中,然后把文件名或URL写到数据库中。 这将更快,将更有效地使用数据库,将I / O最小化(在video将不必分解成数据库的分页scheme,并将使videopipe理更容易一个文件的文件系统delete比一个需要delete一堆包含BLOB的页面的数据库快很多)。

将BLOB放在数据库中的效率非常低,很可能也会使应用程序的内存使用率下降(除非您已经想出了将数据从数据库传输到video解码器的方法)。

它会招致额外的I / O,使用更多的权力,性能通常会下降,因为你在数据库中存储更多的项目。 如果将BLOB与数据库中的小数据混合在一起,那么可以很容易地得出一个病态碎片数据库。 自动吸尘将有所帮助,但效率更低,消耗更多的I / O和更多的电池寿命。


是的,有相当好地处理BLOB的数据库。 而且这个问题与这个只有“iPhone”标签的问题完全无关。

请注意,问题“比文件系统更好地处理BLOB和stream媒体”的答案几乎总是要求您正在使用正在读取/写入原始设备的数据库 – 一个硬盘上的分区但数据库内容。 任何其他解决scheme都必须是现有文件系统上的一层,即使数据库供应商已经完成了所有的工程工作(并且这是巨大的),以尽可能地匹配他们的数据库访问I / O底层文件系统语义。

blob数据types可以用来存储任何二进制数据。 具体来说,它代表B(inary)L(arge)Ob(ject)( http://en.wikipedia.org/wiki/Blob_ (computing ) )

 NSData *imageData; NSURL *imageURL = [[NSURL alloc] initWithString:[[videolistArray objectAtIndex:[number intValue]] valueForKey:@"video"] ]; if (imageURL) { imageData = [NSData dataWithContentsOfURL:imageURL]; } NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; if (!documentsDirectory) { NSLog(@"Documents directory not found!"); } NSArray *myWords = [[NSString stringWithFormat:@"%@",[[videolistArray objectAtIndex:[number intValue]] valueForKey:@"video"]] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"/"]]; NSString *appFile = [documentsDirectory stringByAppendingPathComponent:[myWords lastObject]]; [imageData writeToFile:appFile atomically:YES]; 

在这我存储video在iphone文档目录中,只需将其插入到SQLite数据库w

我使用博客存储video在我的SQLite数据库和它的工作好,我有存储超过100video在我的数据库中需要时间来存储该video