深入浅出的SQL server 查询优化
来源:郑伟的网络课堂 发布时间:2010-07-02 20:58:00
目前网络数据库的应用已经成为最为广泛的应用之一了,并且关于数据库的安全性,性能都是企业最为关心的事情。数据库渐渐成为企业的命脉,优化查询就解决了每个关于数据库应用的性能问题,在这里microsoft sql server又为我们做了些什么,我们一起关注。
优化查询我们理解起来貌似很抽象,概括范围十分的大,关于数据库这里的优化查询其实很简单,做一个简单的例子。一个数据包经过无数的路由器达到自己的目的地址,如果在经过每个路由器的时候,路由器都会给他指向最近的路,那么他抵达的速度也就是最快的。在数据库中也是一样,查询优化就是建立一个一个的路标,就是给这本厚厚的书,写一份简单快捷好用的目录,让计算机能够快速的读取到我们查询的数据。从这里可以联想到,优化查询就是建立目录,我们这里称之为索引。
通常用图书馆比作数据库,图书目录相当于我们的索引。
给图书分类,同类的书放在同一个书架中。
给图书编号,编号是关于书在书架的位置,书架的位置来决定的。
将编号进行统计。
这样,我们对图书馆就建立了索引,索引的建立,对数据库的查询效率的提高并不只是2.3倍,有时候会提高的惊人。
了解到了索引,那么我们自然而然的会想到关于索引的种种设计方案,不同的查询索引会对不同的查询语句进行优化查询。那么单单通过鼠标点击能做到我们希望得到的索引么?microsoft sql server 已经解决了这种问题。我们通过实际操作来看看如何实现的。这种简易的操作再一次夸张到了什么地步!
在sql server中打开需要建立索引的表,右键索引项目,我们可以看到上图所显示的窗口在这里,如果说我们的应用就如同图书馆一样简单快捷,那么我们可以通过这里点点鼠标就完成了操作,如果我们是比较复杂的查询方式呢?或者说有没有比这个提升效率空间更大的方法呢?这才是我要说的。
往往我们需要的并不是那么整齐的索引模型,例如我们做网站的应用,数据库是以什么样的方式调用的数据,根据这样的方式,我们建立相应的索引,我们的需求才会达到。联想一下这样的操作应该很繁琐,要求对SQL查询的了解也颇深,而这里微软的sql server已经为我们准备好了相应的策略,我们以一个简单的案例做一说明。


猜你喜欢
- 码代码时,有时候需要根据比较大小分别赋值:import randomseq = [random.randint(0, 1000) for _
- 使用本文提供的JavaScript脚本,配合Dreamweaver的层和行为的运用,可以在页面中显示可拖动的精美月历。具体制作步骤如下:1、
- #coding=utf-8#对话框import sysfrom PyQt4 import QtGui, QtCoreclass Window
- 这几天用到了raw socket,用python写了些demo程序,这里记录下。首先我们看一个简单的sniffer程序:#! /usr/bi
- 通过启用php.ini配置文件中的相关选项,就可以将大部分想利用SQL注入漏洞的骇客拒绝于门外。 开启magic_quote_gpc=on之
- 只要把下面代码放到index.asp或者default.asp中,只要在首页代码顶部引用call Check_Wap(),这个也是我的工程中
- 看到豆瓣上有网友提了这个问题,看到回答的人不多,忍不住写了下面的内容。工作中最常用到的统计方法有哪些?根据我自己的经验给举些例子。1.通过一
- 目录模板基本语法编写主页模板准备虚拟数据渲染主页模板总结在一般的 Web 程序里,访问一个地址通常会返回一个包含各类信息的 HTML 页面。
- 可以查看mysql文件目录my.ini文件,可以找到类似于 datadir="D:/beeagle/Program Files/M
- 非阻塞IO(non-blocking IO)Linux下,可以通过设置socket使其变为non-blocking。当对一个non-bloc
- 目录前言魔法方法__init__方法__new__方法__call__方法__str___方法__del___方法__enter__ &am
- 数据库计算机 databasecomputer 实现数据库的存储、管理和控制的一种专用计算机系统。它能十分快速而有效地完成各种数据库操作,并
- 在 Python 中一切都是对象。如果要在 Python 中表示一个对象,除了定义 class 外还有哪些方式
- 在django操作数据库的时候如何找出内容不为空的数据呢?from django.db.models import Qclass Index
- CSS Sprites技术不新鲜,早在2005年 CSS Zengarden 的园主 Dave Shea 就在 ALA
- 一、腾讯语音合成介绍腾讯云语音合成技术(TTS)可以将任意文本转化为语音,实现让机器和应用张口说话。 腾讯TTS技术可以应用到很多场景,比如
- 场景产品中有一张图片表pics,数据量将近100万条,有一条相关的查询语句,由于执行频次较高,想针对此语句进行优化表结构很简单,主要字段:u
- 今天写了个下载脚本,记录一下效果:直接上代码:# 网易云 根据歌单链接下载MP3歌曲import requestsfrom bs4 impo
- 前几天写了Mysql跨表更新的一篇总结,今天我们看下跨表删除。 在Mysql4.0之后,mysql开始支持跨表delete。 Mysql可以
- torch.nn.BatchNorm1d()1、BatchNorm1d(num_features, eps = 1e-05, momentu