0

私はsqliteデータベースにFMDBラッパーを使用しており、データベースにURLからダウンロードした画像を保存し、BLOBデータに保存していますが、データベースで次のようなSELECTクエリを作成すると:

SELECT id,img FROM table1 WHERE name = "Carl"

これはデータベースの列です。

img BLOB

しかし、クエリは非常に遅いです。クエリからimgを削除すると、非常に高速になります。URLから画像をダウンロードした後、サイズを変更してサイズを小さくし、次のようにしてメモリスペースを節約します。

NSData *biggerImg = [NSData dataWithContentsOfURL:[NSURL URLWithString:url_image]];

NSData *img = UIImageJPEGRepresentation([self imageWithImage:[UIImage biggerImg] scaledToSize:CGSizeMake(90, 134)], 1.0);


- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
//UIGraphicsBeginImageContext(newSize);
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}

クエリを高速化する方法を知っている人はいますか? クエリには画像も必要です。

ありがとう

4

1 に答える 1