千家信息网

count 列存放的位置,越往后开销的cpu越大

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,最佳字段顺序(结论:越往后的列访问CPU开销大)验证脚本1 (先构造出表和数据)SET SERVEROUTPUT ONSET ECHO ON---构造出有25个字段的表TDROP TABLE t;DE
千家信息网最后更新 2026年11月01日count 列存放的位置,越往后开销的cpu越大最佳字段顺序(结论:越往后的列访问CPU开销大)


验证脚本1 (先构造出表和数据)
SET SERVEROUTPUT ON
SET ECHO ON
---构造出有25个字段的表T
DROP TABLE t;
DECLARE
l_sql VARCHAR2(32767);
BEGIN
l_sql := 'CREATE TABLE t (';
FOR i IN 1..25
LOOP
l_sql := l_sql || 'n' || i || ' NUMBER,';
END LOOP;
l_sql := l_sql || 'pad VARCHAR2(1000)) PCTFREE 10';
EXECUTE IMMEDIATE l_sql;
END;
/
----将记录还有这个表T中填充
DECLARE
l_sql VARCHAR2(32767);
BEGIN
l_sql := 'INSERT INTO t SELECT ';
FOR i IN 1..25
LOOP
l_sql := l_sql || '0,';
END LOOP;
l_sql := l_sql || 'NULL FROM dual CONNECT BY level <= 10000';
EXECUTE IMMEDIATE l_sql;
COMMIT;
END;
/




--验证脚本2(一次访问该表各字段验证)
execute dbms_stats.gather_table_stats(ownname=>user, tabname=>'t')
SELECT num_rows, blocks FROM user_tables WHERE table_name = 'T';
--以下动作观察执行速度,比较发现COUNT(*)最快,COUNT(最大列)最慢
DECLARE
l_dummy PLS_INTEGER;
l_start PLS_INTEGER;
l_stop PLS_INTEGER;
l_sql VARCHAR2(100);
BEGIN
l_start := dbms_utility.get_time;
FOR j IN 1..1000
LOOP
EXECUTE IMMEDIATE 'SELECT count(*) FROM t' INTO l_dummy;
END LOOP;
l_stop := dbms_utility.get_time;
dbms_output.put_line((l_stop-l_start)/100);


FOR i IN 1..25
LOOP
l_sql := 'SELECT count(n' || i || ') FROM t';
l_start := dbms_utility.get_time;
FOR j IN 1..1000
LOOP
EXECUTE IMMEDIATE l_sql INTO l_dummy;
END LOOP;
l_stop := dbms_utility.get_time;
dbms_output.put_line((l_stop-l_start)/100);
END LOOP;
END;
/
--结论:
--原来优化器是这么搞的:列的偏移量决定性能,列越靠后,访问的开销越大。由于count(*)的算法与列偏移量无关,所以count(*)最快。
--后面还有看图说话,看看结果输出的趋势图,就更了然了。

字段 验证 开销 最快 结论 脚本 偏移 最大 动作 性能 数据 算法 结果 趋势 速度 顺序 观察 输出 位置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 蓝思科技飞鸽互联网 互联网科技工作委员会副主任毛军 互联网最新的科技 互联网科技未来 苏州大垚互联网科技 成都仁贤领冠互联网科技有限公司 深圳互联网科技怎么样 现代互联网科技股 乌鲁木齐新华智原互联网科技学校 济南有互联网科技公司吗 华中科技大学互联网的牛人 广州千川互联网科技有限公司 本届互联网大会上的黑科技 易企秀互联网科技是做什么的 银川新华互联网科技学校是国营吗 广西泛欧互联网科技有限公司 互联网科技创业计划的风险分析 互联网科技自媒体灵感 武汉亿视互联网科技有限公司 手冲咖啡和咖啡机区别 中关村互联网 科技集团 互联网科技公司做什么 顺网科技2021年互联网排名 海南科技产业互联网平台 天速互联网络科技有限公司 互联网之后的科技是什么 深圳市优智互联网科技有限公司 沐思想互联网科技有限公司 伍佰万互联网科技怎么赚钱
0