
正文
sqlserver数据量,sqlserver数据量大用临时表
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
sqlserver大数据量update问题?
我拿到sql一看是update语句,想都没多想直接加并行,但是加了并行发现子查询根本没有用到并行,而且整体cost没有什么变化。我仔细想了想,这种写法oracle内部是通过单条跟新的方式进行,从p_t中那出一条记录去c_t中匹配,c_t中采用索引扫描,然后再通过rowid访问表取到name。所以优化器计算后,不会对子查询中的c_t应用并行,因为此时并行会采用全表扫描,效率肯定没有索引扫描快。语句和执行计划如下:
update /*+parallel(p_t,4)*/ p_t set name=(select /*+parallel(c_t,4)*/ name from c_t where p_t.id=c_t.id) where p_t.name is null;
相关问答
Q1: 怎样解决sqlserver数据量大和数据并发问题
数据分表 分页获取 缓存 扩大服务器内存及CPU数量 也就这些了 没别的办法了 再就是做集群服务器 或者 CDN节点分发
Q2: SQLSERVER数据文件数量和大小怎样才合理的
SQLserver2000 数据库大小 1,048,516 TB
每个 SQL Server 实例的数据库个数 32,767
每个数据库的文件组个数 256
每个数据库的文件个数 32,767
文件大小(数据) 32 TB
文件大小(日志) 32 TB
理论上你的硬盘有多大,数据库就可以有多大(前提是你的操作系统能识别这些磁盘空间)








