在开发中,我经常会遇到这种问题,如:
病人表:TBL_PATIENT列:
id_record 主键
p_name 姓名
p_sex 性别
pid 身份证号
p_address 病人住址
p_mid_id 病人治疗编码
p_state 病人状态
dt_mid_date 治疗时间
dt_input 录入时间
关于表的说明:
在查询页面中,会有除主键外的所有查询条件供用户选择和输入。病人治疗编码p_mid_id几乎是没有重复的,并且用户用这个条件作为查询的可能性最高。病人住址p_address总是在查询条件中。录入时间也是常用的限制条件。病人状态p_state一共就四种。那么,我应该怎么建立索引呢?是在每一列上都建立索引,还是建立一个联合索引?还是在最常用的列上建立索引?还是针对最常用的列建立联合索引?还是???这种情况下我应该怎么建立索引最好?
病人表:TBL_PATIENT列:
id_record 主键
p_name 姓名
p_sex 性别
pid 身份证号
p_address 病人住址
p_mid_id 病人治疗编码
p_state 病人状态
dt_mid_date 治疗时间
dt_input 录入时间
关于表的说明:
在查询页面中,会有除主键外的所有查询条件供用户选择和输入。病人治疗编码p_mid_id几乎是没有重复的,并且用户用这个条件作为查询的可能性最高。病人住址p_address总是在查询条件中。录入时间也是常用的限制条件。病人状态p_state一共就四种。那么,我应该怎么建立索引呢?是在每一列上都建立索引,还是建立一个联合索引?还是在最常用的列上建立索引?还是针对最常用的列建立联合索引?还是???这种情况下我应该怎么建立索引最好?
解决方案 »
- 好吧,如果你有pd,mysql,sqlserver等工具可以自动生成代码(图形界面建表等),你还会自己写代码吗
- 遇到了两个问题,路过的帮下忙,谢谢
- 请问索引组织表+ 分区表的方式,如何创建、建立索引,帮助优化。谢谢
- 请问怎样在服务里添加 OracleOraHome92TNSListener
- 如何设置数值字段值自动递增
- ORACLE9I在登录SQLPlus Worksheet时输入用户,密码,服务名。我想问的是服务名每次登录都得手工输入吗?没有选项的吗?
- 请问ORACLE9i在哪能下载呀
- 关于Oracle 8i 的最菜问题,高分请教!谢谢
- 如何写sql语句获得存储过程的参数信息?
- SQL使用MAX()函数时怎么获取该条记录的其他信息
- 求一条sql
- 思考:数据库查询 满足某条件 则某列显示 否则某列不显示
from gzl_action_define t
where t.id like '12%'
使用索引(RANGE SCAN) select t.name
from gzl_action_define t
where t.id like '%12'
不使用索引(TABLE ACCESS (FULL))
其实即使是不是每次用到时间,最好也联系开发部门要求必须时间就好点。