关于sql语句指定不走索引的问题
通过 {+avoid_index(表名 '索引1名' )} 可以让一sql语句不走索引1,可以同时指定两个以上的索引吗?
比如:{+avoid_index(表名 '索引1名',表名‘索引2名’ )}
这个写法不对,如果可以的指定两个以上,正确的写法是什么?
[解决办法]
没有用过,试试
{+avoid_index(表名 '索引1名'),{+avoid_index(表名‘索引2名’)}
[解决办法]
try:
{+avoid_index(表名 '索引1名',‘索引2名’ )}
SELECT {+AVOID_INDEX(emp idx_loc_no, idx_job_no), AVOID_FULL(emp)} ...
这个例子包含多个存取方法伪指令。这些存取方法伪指令通过指示优化程序不扫描 idx_loc_no 和 idx_job_no 索引,并且不对 emp 表进行全表扫描,来强制对 dept_no 列上的 idx_dept_no 索引的扫描。但是,如果新的 idx_emp_no 索引是为表 emp 创建的,这些伪指令将不能防止优化程序考虑该索引。