照相机拍摄的图片时间格式为:yyyy-mm-dd HH24:MI:SS.FFF,用这个时间(ptime)作为表(photo)的主键。
解决方法:
①DATE+CHAR(4),联合主键
②TIMESTAMP
这两种方法各自的优、缺点?
在表photo中,可能经常用到的查询:
①select * from photo where to_char(ptime,'yyyy-mm-dd')='2010-10-05';
②select * from photo where to_char(ptime,'HH24')='20' and to_char(ptime,'mm')='10';

解决方案 »

  1.   

    谢谢2#的建议,帮我看看这个表:
    建表 Nikon_pictures如下:
    CREATE TABLE Nikon_pictures(
    pno number primary key,
    ptime timestamp(3) unique,
    --照片拍摄时间
    pauthor varchar2(10),
    --照片拍摄人
    ptype char(6),
    --照片类型:单人照、双人照、风光照……
    pperson my_person_type,
    --照片中的人物,数组存放
    ppicture blob(varchar2(200)),
    --照片(照片的路径)
    );
    把照片作为blob类型放入数据库,还是把照片的路径放入数据库,很犹豫。
    每张图片大约是6~10M,有10余万张,且以后图片还会增多。
    请高手指点一下。
      

  2.   

    6~10M是*.bmp的大小,改成jpg格式后可以缩小到200~300K。
    主要是考虑10多W条记录的读取效率问题。
      

  3.   

    可以用blob数据类型,存文件还要维护文件内容,不太合适迁移。