A. 如何优化sql server 大数据量时使用 like 查询的速度或有什么别的方法实现模糊查询
傻逼啊,谁看了这个文章就是误人子弟 方案1:主键Id,默认为聚集索引,不建立其它非聚集索引select * from News where Title like '%"&abigale&"%' or Author like '%"&abigale&"%' order by Id desc从字段Title和Author中模糊检索,按Id排序查询时间:50秒方案2:主键Id,默认为聚集索引在Title、Author、Star上建立非聚集索引select * from News where Title like '"&abigale&"%' or Author like '"&abigale&"%' order by Id desc从字段Title和Author中模糊检索,按Id排序查询时间:2 - 2.5秒 看到没有,那个50秒用的是 '%"&abigale&"%'来的,两个百分号会引发全表扫描而那个快的是 '"&abigale&"%' ,这样就使用索引 不用索引和用索引完全两个概念,尼玛还在说优化,优化你妹
B. sqlserver单表大数据查询缓慢,高分求助
可以对某些查询频繁的字段添加索引
不要查询太多数据,比如可以select top 10000 * from 表
C. 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;
D. SQLSERVER大数据库解决方案
在微软的大数据解决方案中,数据管理是最底层和最基础的一环。
灵活的数据管理层,可以支持所有数据类型,包括结构化、半结构化和非结构化的静态或动态数据。
在数据管理层中主要包括三款产品:SQLServer、SQLServer并行数据仓库和
Hadoop on Windows。
针对不同的数据类型,微软提供了不同的解决方案。
具体来说,针对结构化数据可以使用SQLServer和SQLServer并行数据仓库处理。
非结构化数据可以使用Windows Azure和WindowsServer上基于Hadoop的发行版本处理;而流数据可以使用SQLServerStreamInsight管理,并提供接近实时的分析。
1、SQLServer。去年发布的SQLServer2012针对大数据做了很多改进,其中最重要的就是全面支持Hadoop,这也是SQLServer2012与SQLServer2008最重要的区别之一。今年年底即将正式发布的SQLServer2014中,SQLServer进一步针对大数据加入内存数据库功能,从硬件角度加速数据的处理,也被看为是针对大数据的改进。
2、SQLServer并行数据仓库。并行数据仓库(Parallel Data Warehouse Appliance,简称PDW)是在SQLServer2008 R2中推出的新产品,目前已经成为微软主要的数据仓库产品,并将于今年发布基于SQLServer2012的新款并行数据仓库一体机。SQLServer并行数据仓库采取的是大规模并行处理(MPP)架构,与传统的单机版SQLServer存在着根本上的不同,它将多种先进的数据存储与处理技术结合为一体,是微软大数据战略的重要组成部分。
3、Hadoop on Windows。微软同时在Windows Azure平台和WindowsServer上提供Hadoop,把Hadoop的高性能、高可扩展与微软产品易用、易部署的传统优势融合到一起,形成完整的大数据解决方案。微软大数据解决方案还通过简单的部署以及与Active Directory和System Center等组件的集成,为Hadoop提供了Windows的易用性和可管理性。凭借Windows Azure上基于Hadoop的服务,微软为其大数据解决方案在云端提供了灵活性。
E. 如何提高SQL Server大数据条件下的查询速度
1.关于索引优化
建索引的选择必须结合SQL查询、修改、删除语句的需要,一般的说法是在WHERE里经常出现的字段建索引。如果在WHERE经常是几个字段一起出现而且是用AND连接的,那就应该建这几个字段一起的联合索引,而且次序也需要考虑,一般是最常出现的放前面,重复率低的放前面。
SQL
Server提供了一种简化并自动维护数据库的工具。这个称之为数据库维护计划向导(Database
Maintenance
Plan
Wizard
,DMPW)的工具也包括了对索引的优化。如果你运行这个向导,你会看到关于数据库中关于索引的统计量,这些统计量作为日志工作并定时更新,这样就减轻了手工重建索引或者DBCC
INDEXDEFRAG所带来的工作量。如果你不想自动定期刷新索引统计量,你还可以在DMPW中选择重新组织数据和数据页,这将停止旧有索引并按特定的填充因子重建索引。
2.
改善硬件(双CPU,Raid
5,增加内存)
tempdb这个临时数据库,它对性能的影响较大。tempdb和其他数据库一样可以增大,可以缩小。当数据文件需要增长的时候,通常不能保持剩余部分的连续性。这时文件就会产生碎片,这种碎片会造成性能下降。这种碎片属于外来性碎片。要阻止在tempdb中产生外来性碎片,必须保证有足够的硬盘空间。一般将tempdb的容量放到平均使用容量。而你也应该允许tempdb自动增长,比如你有个一个超大的join操作,它建立了一个超过tempdb容量的时候,该查询将失败。你还要设置一个合理的单位增长量。因为如果你设得太小,将会产生许多外来性碎片,反而会占用更多资源。sqlserver调优最有效的做法之一,就是把争夺资源的操作独立出去。tempdb就是一个需要独立出去的部分而tempdb和其他系统库一样是公用的,是存取最可能频繁的库,所有处理临时表、子查询、GROUP
BY、排序、DISTINCT、连接等等。它最适合放到一个具有快速读写能力的设备上。比如RAID0卷或RAID0+1卷上。
查询语句一定要使用存储过程;
3、查询尽量使用TOP子句
4.将表按一定的约束分成子表,(如按分类)创建约束,在用Like
时,先用分类
and
like
,
应该可能解决问题.
而且效果立秆见影!(你要确定SQL会认识你建的分区视图).我一个表有上百万的记录(700兆),用分区视图后,查询速度基本跟10万行一样.
如果还是太慢,还可以考滤分布式分区视图!这总可以解决问题了吧!
关键在于你能否把大表按某种约束分解成子表.
F. 如何使用SqlServer查询数据库表所有或指定记录
如何使用SqlServer查询数据库表所有或指定记录
一般右键点sqlserver里面的表会有查询表数据,点一下后会出来所有表数据,在表数据那边右键选择窗口->sql会在上方生产一个sql语句,在这里输入后按F5可以查询。
select
*
from
table查看所有
select
*
from
table
where
col1=“?”
and或者
or
col2=“?”
table是表名,
col1、2是字段名
G. 如何做SqlServer 数据查询优化!
一、建立索引
二、建立存储过程
三、只查询您所需要的数据,不要把所有数据都查询出来,防止数据冗余。
四、对于大量及海量数据一般还要建立分区
H. SqlServer百万记录查询优化
有where条件吗, 是不是返回数据太多?
另外,A表只有18条记录,代表B表中的parymentId外键索引重复率很高,没啥效率。
I. sqlserver 大数据内容该怎么建表查询数据快
使用表分区。