假如有一张产品表p:
create table p (
pid int primary key, //产品号
pname varchar(30), //产品名称
pprice num(6,2), //产品价格
pdate varchar(8) //产品入库时间
我经常要做的操作是每天往库里面输入新产品,而且经常按时间(比如某一天)查询产品,这时我应该在哪些字段上建立索引?我是否需要在主键pid上建立索引,我查询不需要根据pid来查询(也就是where后面不接跟pid相关的信息)?
create table p (
pid int primary key, //产品号
pname varchar(30), //产品名称
pprice num(6,2), //产品价格
pdate varchar(8) //产品入库时间
我经常要做的操作是每天往库里面输入新产品,而且经常按时间(比如某一天)查询产品,这时我应该在哪些字段上建立索引?我是否需要在主键pid上建立索引,我查询不需要根据pid来查询(也就是where后面不接跟pid相关的信息)?
奇怪的是,楼主把这个类型建成了varchar(8)?sqlserver的写法吧?oracle是varchar2(8)
我支持pdate用date类型的
支持,在这个基础上建一个函数索引。
函数是
truncate(pdate, 'dd')