1. 程式人生 > >SQL Server2016新特性(1):動態的顯示執行計劃(效果類似小視訊)

SQL Server2016新特性(1):動態的顯示執行計劃(效果類似小視訊)

SQL Server2016種的一個新特性是 可以動態的顯示 執行計劃的過程,就像小視訊一樣的效果。

一、準備工作

在資料庫有一個表tb,資料量在8000w左右,如果資料量少了,顯示的動態過程會一閃而過。

演示的例子很簡單,就是要計算tb表的準確記錄數,程式碼如下:

SELECT COUNT(*) FROM tb

之前版本ssms上有2個按鈕:顯示估計的執行計劃、包括實際的執行計劃。

點選紅色圈的這個按鈕,是2016新增的,包括實時查詢統計資訊:


二、點選“執行按鈕”,顯示的執行計劃,截圖:

(1)圖中最右側,table scan執行了70%,預估81793900條資料,已經掃描了57718436條資料,57718436/81793900=0.7,也就是70%,消耗時間48.519秒


(2)這張圖顯示,最右側的table scan已經執行完,實際的行數是81793936條,而不是預估的81793900,但是很接近。


(3)顯示整個語句已經執行完,其中從右邊往左數,第2、3個,顯示200%,這個是8/4 = 2這麼算出來的。

說明執行計劃中的這2個操作是並行執行的,預估是4個執行緒,實際上有8個執行緒同時執行,所以最後就是200%了。


這個是執行結果,說明tb表有 81793936條資料。


相關推薦

SQL Server2016特性1動態顯示執行計劃(效果類似視訊)

SQL Server2016種的一個新特性是 可以動態的顯示 執行計劃的過程,就像小視訊一樣的效果。 一、準備工作 在資料庫有一個表tb,資料量在8000w左右,如果資料量少了,顯示的動態過程會一閃而過。 演示的例子很簡單,就是要計算tb表的準確記錄數,程式碼如下: S

SQL Server2016特性2時態表 Temporal Table

SQL Server 2016 引入了對版本由系統控制的臨時表的支援,其附帶的內建支援可以提供表中儲存的資料在任意時間點的相關資訊,而不僅僅是資料在當前時刻正確的資訊。 臨時表是 ANSI SQL 2011 中引入的資料庫功能。 版本由系統控制的臨時表是使用者表的一種型別,

C# 7.0 特性1 基於Tuple的“多”返回值方法

本文基於Roslyn專案中的Issue:#347 展開討論. 回顧 首先,提出一個問題,C#中,如何使一個方法可返回”多個”返回值? 我們先來回顧一下C#6.0 及更早版本的做法。 在C#中,通常我們有以下4種方式使一個方法返回多條資料。 使用 KeyVal

php7特性面向物件部分

1)、PHP 7 支援new class 來例項化一個匿名類這可以用來替代一些"用後即焚"的完整類定義。 2)、Closure::call():將一個閉包函式動態繫結到一個新的物件例項並呼叫執行該函式 3)、use:可以使用一個 use 從同一個 namespace 中匯入類、函

特性1---nullptr,auto

引入nullptr的原因 c中的null 在c語言中,我們常常會使用null;代表一個空指標,表示指標不指向任何物件。NULL是一個巨集定義,定義如下: #define NULL ((void *)0) 在使用中通過隱式轉換,將空指標轉換為其他型別的指標。如下

Spring Boot 2.0 特性配置繫結 2.0 全解析

在Spring Boot 2.0中推出了Relaxed Binding 2.0,對原有的屬性繫結功能做了非常多的改進以幫助我們更容易的在Spring應用中載入和讀取配置資訊。下面本文就來說說Spring Boot 2.0中對配置的改進。 配置檔案繫結 簡單型別 在S

php 7特性型別的限定

1、標量型別宣告: a.預設:以前的弱型別 b.嚴格:declare(strict_types=1)  //strict_types的值(1或者0),1表示嚴格型別, 0表示弱型別 可以使用的型別引數有:int  float   bool     string inte

PHP特性效能優化

1)、為 unserialize() 提供過濾的特性:可以防止非法資料進行程式碼注入,提供了更安全的反序列化資料。 【注】所有php裡面的值都可以使用函式serialize()來返回一個包含位元組流的字串來表示。unserialize()函式能夠重新把字串變回php原來的值

C# 7.0 特性2 本地方法

本文參考Roslyn專案中的Issue:#259. 簡而言之,【本地方法】就是在方法體內部定義一個方法。 其實咋眼一看,這個新特新並沒有什麼新意,因為目前大量C#的專案中,都可以使用delegate或基於delegate變形的各種方案(lambda, Fun,

Python 3.0 特性1

萬眾期待的Python3.0(final)在2008年12月3日釋出了,本文將介紹一下Python3所具有的與Python2.5不同的新特性。 Python3的下載地址是: 1.print的變化:、 在python3.0中,print成為了一個函式,將傳入的引數

java8特性Stream流的使用

Java5的時候就引入了自動裝箱拆箱的功能, 在對包裝型別進行數學計算的時候,包裝型別就會被自動拆箱成基本型別, 而將一個基本型別的值賦值給一個包裝型別的變數或者放入集合中時基本型別又會被自動裝箱成包裝型別,這個過程是需要消耗計算效能的。Java8的包裝型別的流的計算過程中同樣包含了對基本型別的自動裝箱和拆箱

Python高階特性1Iterators、Generators和itertools

【譯註】:作為一門動態指令碼語言,Python對程式設計初學者而言很友好,豐富的第三方庫能夠給使用者帶來很大的便利。而Python同時也能夠提供一些高階的特性方便使用者使用更為複雜的資料結構。本系列文章共有三篇,本文是系列的第一篇,將會介紹迭代器、生成器以及iter

C++11特性1-long long

溫故而知新迄今為止的職業生涯中,有過兩次集中時間學習C++的經歷。第一次大概是在1994年前後,那時非計算機專業大學畢業剛接觸C++,學的是還是BorlandC++3.1的手冊。許多東西都是一知半解就開始了應用,但即使是這樣,還是充分感覺到C++的強大,非常喜歡C++帶來的那

kubernetes1.5特性支援Photon卷外掛

在Kubernetes中卷的作用在於提供給POD持久化儲存,這些持久化儲存可以掛載到POD中的容器上,進而

JDK1.8特性stream

一.什麼是stream? 1.概述 Java 8 API添加了一個新的抽象稱為流Stream,可以讓你以一種宣告的方式處理資料。 這種風格將要處理的元素集合看作一種流, 流在管道中傳輸, 並且可以在管道的節點上進行處理, 比如篩選, 排序,聚合等。 元素流在管道中經過中間操作的處理,最後由最終操作得到前面處理

C#執行1什麼是執行緒?我們為什麼要使用執行緒?

最近在看公司上一個專案的原始碼,讓我感覺非常困惑的是,原始碼中使用了很多多執行緒的內容,所以給我的感覺是執行緒一直跳來跳去的,讓我感覺到很困惑。於是我就寫了這篇部落格,希望能夠更好的理解執行緒有關的內容。 一:什麼是執行緒 執行緒是和程序經常放在一起比較的兩個概念。按照我的理解,執行緒和程序

gdb除錯1單步執行和跟蹤函式呼叫

轉發自:http://songjinshan.com/akabook/zh/gdb.html#id1看下面的程式: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18#include <stdio.h> in

python簡易圖片處理1開啟\顯示\儲存圖片

一提到數字影象處理,可能大多數人會想到matlab,但是matlab有自身的一些缺點: 1.不開源,價格貴; 2.軟體容量大。一般3GB以上,高版本甚至達到5GB以上。 3.只易做研究,不易轉化成軟體。 因此,我傾向於學習python來進行影象的處理工作

機器學習折騰記1先成功執行一個Python例子

最近,聽很多朋友都在說人工智慧越來越火,想要了解其中究竟,於是我就推薦了幾本書,但結果卻是,除了工程師朋友能夠勉強看下去外,其餘大部分人到最後都不得放棄了,原因是太多數學公式,太難理解了。 比如,《深度學習》這本書,算得上一本科普書了,是專門寫給一般人看的,其

python3爬蟲實戰mitmproxy對接python下載抖音視訊

一、前言 前面我們已經用appium爬取了微信朋友圈,今天我們學習下mitmproxy,mitmproxy是幹什麼的呢,它跟charles和fiddler類似,是一個抓包工具,以控制檯的形式顯示,mitmproxy的重要性在於它可以對接python,可