我是初次涉及到大型数据库的编程,在写sql语句时存在一些疑问:
表的数据比较大,又要多表查询,是不是逐个表进行查询效率比较高,还是通过一个较复杂的sql语句(from中存在多个表,有的进行连接,where中设定条件)得出最终结果效率比较高?
疑问:对于较大的表之间进行相乘,是不是很耗时?
表的数据比较大,又要多表查询,是不是逐个表进行查询效率比较高,还是通过一个较复杂的sql语句(from中存在多个表,有的进行连接,where中设定条件)得出最终结果效率比较高?
疑问:对于较大的表之间进行相乘,是不是很耗时?
解决方案 »
- 请教一个问题,关于“ORA-00911,invalid character”多个语句产生的
- 100分求个有点难度的SQL查询统计题
- ORACLE的查询问题
- spfile的问题
- ibatis,isEqual使用property取不到配置文件的正确值?求助
- 请问,oracle中怎样计算两个日期字段之间的小时差额?
- 关于process中inctive的状态异常多的问题
- 求教:安全性要求比较高的数据库解决方案!
- 请教一个有关触发器问题(在线等待)
- 請各位高手展招!!!
- 请问join的问题??谢谢
- [SQL语句问题]想向一个表中增加一个新列,要求此列属性为not null,需要写入默认值,但是要求默认值要根据表中各行数据的具体情况写入不同
一般100万记录以内,只要服务器性能没问题.你怎么查询都应给不会有多大影响.(前提是你的SQL经过优化)
,若确实表数据量比较大,可以考虑一些办法提高性能。
比如,建立分区表、建立cluster表,建立索引、使用系统提示等等。而且要具体情况具体分析,你仅仅说了个大概,很难有人给出具体答案的。
"EXAM_NORMSELE.STUD_NUM, "+
"EXAM_NORMSELE.COUR_NUM, "+
"EXAM_NORMSELE.COUR_SEQ, "+
"COUR_BAS_050517.COUR_NAM, "+
"EXAM_ROOM.ROOM_NUM, "+
"EXAM_MANG.EXAM_WEEKDAY, "+
"EXAM_MANG.EXAM_BGTIME, "+
"EXAM_MANG.EXAM_PERIOD, "+
"EXAM_MANG.ORG_WAY "+
"FROM "+
"COUR_BAS_050517, EXAM_NORMSELE LEFT OUTER JOIN EXAM_ROOM "+
"ON EXAM_NORMSELE.ROOM_SERIALNO=EXAM_ROOM.ROOM_SERIALNO, EXAM_MANG "+
"WHERE "+
"(EXAM_NORMSELE.STUD_NUM = \'"+studNum+"\') "+
"and (COUR_BAS_050517.COUR_NUM=EXAM_NORMSELE.COUR_NUM) "+
"and (EXAM_NORMSELE.EXAM_SERIALNO=EXAM_MANG.EXAM_SERIALNO) "+
"order by EXAM_MANG.EXAM_WEEKDAY,EXAM_MANG.EXAM_BGTIME";
是如上面那样的SQL语句,一下子得出结果,效率较高,还是如下面的代码,
select ..., exam_serialno, room_serialno from exam_normsele where stud_num =\'"+studNum+'";
roomNum = rs.getString("room_serialno");
...
select..., room_num from exam_room where room_serialno = \'"+roomNum+\'";
逐个表的查询,不涉及到表的相乘,得效率高?