我想查询一个字段很多的表,而且字段的类型限制都在1000以上,数据量达到500多万,我要是相用以下语句该如何是查询时间能在一秒以内?
select * from ENT_RECODE_CENTER where Credit_number='值' ;
Select * from ( Select t01.*, rownum as newRowNum from (Select * from ent_recode_center where Ent_name_cn like '%值%' and Farenheit 1 = 1 order by credit_number) t01 where rownum<='rownum + 20') where newRowNum>'';
"select * from ENT_RECODE_CENTER where Ent_name_cn like '% %' and Farenheit like '%%' and auditstate='1' ;
select credit_number, ent_name_cn from ENT_RECODE_CENTER;
select credit_number from ENT_RECODE_CENTER where ent_name_cn like '';
select * from ENT_RECODE_CENTER where Credit_number='值' ;
Select * from ( Select t01.*, rownum as newRowNum from (Select * from ent_recode_center where Ent_name_cn like '%值%' and Farenheit 1 = 1 order by credit_number) t01 where rownum<='rownum + 20') where newRowNum>'';
"select * from ENT_RECODE_CENTER where Ent_name_cn like '% %' and Farenheit like '%%' and auditstate='1' ;
select credit_number, ent_name_cn from ENT_RECODE_CENTER;
select credit_number from ENT_RECODE_CENTER where ent_name_cn like '';
rownum <='rownum + 20'
newRowNum>''
这些都不对了,现整理好再问才会比较快的获得回答
改用key value形式的存储方式,像豆瓣那样。
这样的条件返回的行不多的话 (2000行以内). column 列上加上索引就行,一定是 1秒以内.
where column like '%值%' , 这样的加什么索引都没用. 会扫描所有的 500万行.能快吗?