今天暂时无事,风和日丽,万里无云。游山的、玩水的、遛麻雀的都闲的不亦乐乎,也忙的不亦乐乎。在这美好的季节,依旧躲在被窝或是电脑旁绞尽脑汁敲键盘的人们,也别有一番滋味。废话少说,言归正传。

赶上了一个最难就业季,总有很多不顺。前几天面试,被问了很多mvc和sqlserver索引的问题,借这个时候来温习一下这些知识。

有一个人事数据库hrmis,里面的用户表叫A01,共7000条数据。

为了测试需要把这些数据,复制到另外一个测试数据库里。语句如下:

测试数据库为:funcunweiTest

use funcunweiTest
select * into peoTest from hrmis..a01

–-输出结果(7311行受影响)

注:【SELECT INTO 和 INSERT INTO SELECT 两种表复制语句】

索引使用的目的,是在大数据量的情况下提高查询速度,几千条数据库是看不出来很大差别的。为了实现大数据,我们可以不断的执行下面这个语句(小心硬盘空间不足,):

 insert into peoTest select * from peoTest

--【在耗费了3G的空间后,用count进行统计有将近375万条数据,可以满足我们的测试了。】

查询耗时我用的办法时,查询之前先声明一个时间,查询之后再声明一个时间,然后获得时间差。

datediff(millisecond,开始时间,结束时间)  --millisecond 毫秒

【测试一】查看peoTest表只查询一个列耗时情况。

declare @start datetime,@end datetime
set @start=getdate()
select A0188 from peotest
set @end=getdate()

select datediff(millisecond,@start,@end)

--查询A0188耗时为:23706毫秒 A0188代表ID

--查询A019Z列耗时:30960毫秒 A019Z代表地址

【测试二】查看peoTest表查询所有列耗时情况

declare @start datetime,@end datetime
set @start=getdate()
select * from peotest
set @end=getdate()
select datediff(millisecond,@start,@end)

--查询所有列耗时为:201350毫秒

【测试三】利用分页存储过程,查看某一页单列及所有列耗时情况。

一个好用的分页存储过程

set @start=getdate()

exec selectbypage 'peoTest','*','A0188',20,10,0,0,'' 
set @end=getdate() 

--查询的所有列第10页,每页20条数据,耗时:22346毫秒

--只查询A0188列第10页,每页20条数据,耗时:12176毫秒

从以上三个测试例子,可以得出以下结论:

 1、尽量少使用 * 号,应只查询需要的字段,能减少不必要的消耗。 
 2、多使用分页,单页数据量较少,也可以提高查询效率。先写到这里,外面这么好的天气,不去打打球,运动一下身体,真太可惜了。身体是本钱。身体是一切基础!。

现在是在窗户旁坐着,还是自然风吹的爽啊。

欲知后事如何,且听下回分解。。。。

浅谈sqlserver数据库优化(一)----开光篇的更多相关文章

  1. (转)运维角度浅谈MySQL数据库优化

    转自:http://lizhenliang.blog.51cto.com/7876557/1657465 一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架 ...

  2. 运维角度浅谈MySQL数据库优化(转)

    一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善.这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分 ...

  3. 从运维角度浅谈 MySQL 数据库优化

    一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善.这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分 ...

  4. 运维角度浅谈MySQL数据库优化

    一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善.这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分 ...

  5. mysql分享一:运维角度浅谈MySQL数据库优化

    转于:http://lizhenliang.blog.51cto.com/7876557/1657465 1.数据库表设计要合理避免慢查询.低效的查询语句.没有适当建立索引.数据库堵塞(死锁)等 2. ...

  6. 【ASP.NET MVC系列】浅谈Google Chrome浏览器(操作篇)(下)

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  7. 浅谈mysql配置优化和sql语句优化【转】

    做优化,我在这里引用淘宝系统分析师蒋江伟的一句话:只有勇于承担,才能让人有勇气,有承担自己的错误的勇气.有承担错误的勇气,就有去做事得勇气.无论做什么事,只要是对的,就要去做,勇敢去做.出了错误,承担 ...

  8. 浅谈MySQL中优化sql语句查询常用的30种方法 - 转载

    浅谈MySQL中优化sql语句查询常用的30种方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使 ...

  9. 浅谈Oracle数据库性能优化的目标

    Oracle性能优化保证了Oracle数据库的健壮性,为了保证Oracle数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略.从数据库性能优化的场景来区分,可以将性能优化分为如 ...

随机推荐

  1. grunt入门之grunt watch的使用

    watch几乎是grunt必不可少的应用,一旦配置好watch,保存文件后将立即执行命令 安装方式如下: npm install grunt-contrib-watch --save-dev 安装好以 ...

  2. HDU1028 Ignatius and the Princess III 【母函数模板题】

    Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ...

  3. 我的javascript学习之路(一)对象之基础

    做了2个多月的ajax项目,对js的学习觉得了深入了不少,把自己的一些学习的经验贴出来,希望对初学者有所帮助,也希望大家能指出我的错误之处或者不当之处. javascript 是基于对象的语言,为什么 ...

  4. Html游戏开发-画图

    1. 画矩形和写字 var canvas = document.getElementById('canvas'), context = canvas.getContext('2d'); context ...

  5. 课本[Teb]软件设计

    中文名:课本 英文名:Textbook 简称:Teb 一个专注于分享校内课件的软件. 一个课件的整合平台. 发布平台:web>android>ios; 主要功能:预览课件(暂定),搜索课件 ...

  6. 丢失全部控制文件,noresetlogs重建控制文件,alter database open

    測试2: (1)一致性的全备 SQL> shutdown immediate; $ cp -rf $ORACLE_BASE/oradata/boss/*.dbf /oradata/bossbak ...

  7. Sqlserver事务发布实现数据同步

    事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进的.这 里以sqlserver2008的事务发布功能为例,对发 ...

  8. ios开发——实用技术篇Swift篇&照片选择

    照片选择 // MARK: - 选择照片 /*----- 选择照片 ------*/ @IBAction func addImageButtonClick() { let actionSheet = ...

  9. vxworks 实时操作系统

    VxWorks 是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统.Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似Mi ...

  10. Robot Framework简介

    概述 Robot Framework是一个通用的关键字驱动自动化测试框架.测试用例以HTML,纯文本或TSV(制表符分隔的一系列值)文件存储. 通过测试库中实现的关键字驱动被测软件.Robot Fra ...