2.使用变量的查询节约时间还是普通查询节约时间 ?
[如:
define temp_table ="scott.emp";
select * from &temp_table;
与
select * from scott.emp;
]
3.SQLServer中查询第 n 条到第 m 记录的方法可以是:
SELECT TOP m-n+1 * FROM publish WHERE (id NOT IN (SELECT TOP n-1 id FROM publish))
在ORACLE中这样查询可以么?
select ename from(select ename,rownum rn from scott.emp)where rn between n and m;
4.各位牛人推荐一篇关于“oracle并行计算技术”文章,虽然我已经百度到很多了~:
5.数据库刚开始插入数据的时候可以达到50W条/分种,可是插入到2000W条数据之后,即使不再插入数据,cpu的负荷都在90%左右,迟迟降不下去,而且这时候插入数据的速度是 6W条/分钟,效率几乎降低了8倍,主要是什么原因导致的,解决办法有哪些呢?
6,发帖虽多可以给100分,有没有办法一次加到200,或者300分的呢?我不想等到第二天再来+;
13 个解决方案
#1
这些小问题我都不会呢
#2
2.A方法:在程序中使用拼接字符串的方式进行查询,如:
strsql:='select * from table where name='''+yourname+'''';
yourname:='liming';
execsql;
B方法:在程序中使用参数
strsql:=''select * from table where name=''':yourname''';
方法B快与方法A
3.select ename from(select ename,rownum rn from scott.emp)where rn between n and m;
ORACLE 是可以这样查询的;
4建议用GOOGLE;
如果还不满意,那就只有去买书了~~
5 ORACLE中如果要大批量插入数据,建议分批插入,比如插入10000条提交一次。尽量缩小事物。否则会生成大量DML锁,以及回滚段方面的原因,会严重影响数据库的性能;
6 发帖分数跟级别有关,比如我现在就可以发200分的帖子了~~呵呵
strsql:='select * from table where name='''+yourname+'''';
yourname:='liming';
execsql;
B方法:在程序中使用参数
strsql:=''select * from table where name=''':yourname''';
方法B快与方法A
3.select ename from(select ename,rownum rn from scott.emp)where rn between n and m;
ORACLE 是可以这样查询的;
4建议用GOOGLE;
如果还不满意,那就只有去买书了~~
5 ORACLE中如果要大批量插入数据,建议分批插入,比如插入10000条提交一次。尽量缩小事物。否则会生成大量DML锁,以及回滚段方面的原因,会严重影响数据库的性能;
6 发帖分数跟级别有关,比如我现在就可以发200分的帖子了~~呵呵
#3
为什么:方法B快与方法A ??
好像都一样啊~
2.A方法:在程序中使用拼接字符串的方式进行查询,如:
strsql:='select * from table where name='''+yourname+'''';
yourname:='liming';
execsql;
B方法:在程序中使用参数
strsql:=''select * from table where name=''':yourname''';
好像都一样啊~
2.A方法:在程序中使用拼接字符串的方式进行查询,如:
strsql:='select * from table where name='''+yourname+'''';
yourname:='liming';
execsql;
B方法:在程序中使用参数
strsql:=''select * from table where name=''':yourname''';
#4
我曾经看过一本书,书里面就是这么写的!我知其然不知其所以然~~呵呵
#5
1. set timing on;
2. 应该是普通查询
3. select ename
from (select ename, rn
from (select ename,rownum rn
from (select ename from scott.emp order by xxx) )
where rn <= m)
where rn >= n;
4.....
5. 提交的频率,还有语句是否绑定变量等等。
6,升一个星星发帖分数上限200,两个星星发帖分数上限300
2. 应该是普通查询
3. select ename
from (select ename, rn
from (select ename,rownum rn
from (select ename from scott.emp order by xxx) )
where rn <= m)
where rn >= n;
4.....
5. 提交的频率,还有语句是否绑定变量等等。
6,升一个星星发帖分数上限200,两个星星发帖分数上限300
#6
可能是:号被优化了吧
#7
set timing on;
为什么我设置了显示的是年月日,不是秒啊?
为什么我设置了显示的是年月日,不是秒啊?
#8
set timing on
#9
1、set timing on
2、灵活使用变量的问题。所以,不能绝对的说哪个方法更快。就LZ提供的简单sql而言,普通sql快。LZ可以看一下关于变量绑定的资料
3、一般查询第 n 条到第 m条记录的时候,都会根据某个特定的条件排序,sql同5楼
4、我也说不好
5、要定时提交一定的事物
6、与你当前的级别有关。
2、灵活使用变量的问题。所以,不能绝对的说哪个方法更快。就LZ提供的简单sql而言,普通sql快。LZ可以看一下关于变量绑定的资料
3、一般查询第 n 条到第 m条记录的时候,都会根据某个特定的条件排序,sql同5楼
4、我也说不好
5、要定时提交一定的事物
6、与你当前的级别有关。
#10
第二个问题,还是普通查询快!
#11
学习了
#12
表上应该有不少索引吧?
#13
嗯,好像就有一个索引吧。
感谢各位的解答,~基本上差不多了~~
感谢各位的解答,~基本上差不多了~~
#1
这些小问题我都不会呢
#2
2.A方法:在程序中使用拼接字符串的方式进行查询,如:
strsql:='select * from table where name='''+yourname+'''';
yourname:='liming';
execsql;
B方法:在程序中使用参数
strsql:=''select * from table where name=''':yourname''';
方法B快与方法A
3.select ename from(select ename,rownum rn from scott.emp)where rn between n and m;
ORACLE 是可以这样查询的;
4建议用GOOGLE;
如果还不满意,那就只有去买书了~~
5 ORACLE中如果要大批量插入数据,建议分批插入,比如插入10000条提交一次。尽量缩小事物。否则会生成大量DML锁,以及回滚段方面的原因,会严重影响数据库的性能;
6 发帖分数跟级别有关,比如我现在就可以发200分的帖子了~~呵呵
strsql:='select * from table where name='''+yourname+'''';
yourname:='liming';
execsql;
B方法:在程序中使用参数
strsql:=''select * from table where name=''':yourname''';
方法B快与方法A
3.select ename from(select ename,rownum rn from scott.emp)where rn between n and m;
ORACLE 是可以这样查询的;
4建议用GOOGLE;
如果还不满意,那就只有去买书了~~
5 ORACLE中如果要大批量插入数据,建议分批插入,比如插入10000条提交一次。尽量缩小事物。否则会生成大量DML锁,以及回滚段方面的原因,会严重影响数据库的性能;
6 发帖分数跟级别有关,比如我现在就可以发200分的帖子了~~呵呵
#3
为什么:方法B快与方法A ??
好像都一样啊~
2.A方法:在程序中使用拼接字符串的方式进行查询,如:
strsql:='select * from table where name='''+yourname+'''';
yourname:='liming';
execsql;
B方法:在程序中使用参数
strsql:=''select * from table where name=''':yourname''';
好像都一样啊~
2.A方法:在程序中使用拼接字符串的方式进行查询,如:
strsql:='select * from table where name='''+yourname+'''';
yourname:='liming';
execsql;
B方法:在程序中使用参数
strsql:=''select * from table where name=''':yourname''';
#4
我曾经看过一本书,书里面就是这么写的!我知其然不知其所以然~~呵呵
#5
1. set timing on;
2. 应该是普通查询
3. select ename
from (select ename, rn
from (select ename,rownum rn
from (select ename from scott.emp order by xxx) )
where rn <= m)
where rn >= n;
4.....
5. 提交的频率,还有语句是否绑定变量等等。
6,升一个星星发帖分数上限200,两个星星发帖分数上限300
2. 应该是普通查询
3. select ename
from (select ename, rn
from (select ename,rownum rn
from (select ename from scott.emp order by xxx) )
where rn <= m)
where rn >= n;
4.....
5. 提交的频率,还有语句是否绑定变量等等。
6,升一个星星发帖分数上限200,两个星星发帖分数上限300
#6
可能是:号被优化了吧
#7
set timing on;
为什么我设置了显示的是年月日,不是秒啊?
为什么我设置了显示的是年月日,不是秒啊?
#8
set timing on
#9
1、set timing on
2、灵活使用变量的问题。所以,不能绝对的说哪个方法更快。就LZ提供的简单sql而言,普通sql快。LZ可以看一下关于变量绑定的资料
3、一般查询第 n 条到第 m条记录的时候,都会根据某个特定的条件排序,sql同5楼
4、我也说不好
5、要定时提交一定的事物
6、与你当前的级别有关。
2、灵活使用变量的问题。所以,不能绝对的说哪个方法更快。就LZ提供的简单sql而言,普通sql快。LZ可以看一下关于变量绑定的资料
3、一般查询第 n 条到第 m条记录的时候,都会根据某个特定的条件排序,sql同5楼
4、我也说不好
5、要定时提交一定的事物
6、与你当前的级别有关。
#10
第二个问题,还是普通查询快!
#11
学习了
#12
表上应该有不少索引吧?
#13
嗯,好像就有一个索引吧。
感谢各位的解答,~基本上差不多了~~
感谢各位的解答,~基本上差不多了~~