照相机拍摄的图片时间格式为: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';
解决方法:
①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';
建表 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余万张,且以后图片还会增多。
请高手指点一下。
主要是考虑10多W条记录的读取效率问题。