SQL性能调节

COMSOL求解器实战:如何避免非线性问题求解失败(附牛顿法调试技巧) 本文深入探讨了COMSOL求解器在处理非线性问题时常见的失败原因及解决方案。通过分析物理模型非线性特性、初始条件敏感性和求解器参数配置,提供了牛顿法调试的黄金四步法,包括模型检查、分阶段求解、参数调优和高级诊断工具应用。特别针对材料非线性、几何非线性和多物理场耦合等典型工程场景,给出了实战技巧和预防性建模策略,帮助工程师有效避免求解失败。 阅读详情

一、SQL的执行过程

1.创建游标(Create a Cursor)

2.分析语句(Parse the Statement)

3.描述查询结果

4.定义查询的输出数据

5.绑定变量

6.并行执行语句

7.执行语句

8.取出查询的行

9.关闭游标

 

 

二、CBO规则

 CBO=I/0 +CPU + NetWork

 

三、四种索引扫描

 1.索引唯一扫描(index unique scan)

 2.索引范围扫描(index range scan)

 3.索引全扫描(index full scan)

 4.索引快速扫描(index fast full scan)

 

四、组合索引使用条件

使用组合索引时,必须有引导列的参与,才使用组合索引。

 

五、表连接

 1.连接类型

  排序----合并连接

  嵌套循环

  哈希连接

 

  2.驱动表和探查表

   驱动表一般是where条件返回记录少的表,做为驱动表。

  目的是减少I/O读取次数。

  哈希连接中,构建HashTable与bitmap的表,作为驱动表。

 select /*+ use_hash(emp) */ empno from emp,dept where emp.deptno=dept.deptno;

要使哈希连接有效,需设置HASH_JOIN_ENBALED=TRUE

补充可设置:hash_area_size

 

3.选择

 

 排序---合并连接

  a)对于非等值连接,这种连接方式的效率比较好。

  b)如果在关联的列上都有索引,效果更好。

  c)对于将2个较大的row source做链接,改连接比NL连接要好。

  d)如果是sort merge 返回的row source过大,则又会导致使用过多的rowid,在表中查询数据时,数据库性能下降,因为过多的I/o;

 

嵌套循环(NL)

 a)如果驱动表比较小,并且在探索表上有唯一索引,或有高选择性非唯一索引时,使用这种方法可以得到较好的效果。

 b)NL有其它连接没有的一个优点是:可以先返回已经连接的行,且不必等待所有的连接处理完毕后,才返回数据。

 

哈希连接

 a)在2个较大的row source之间连接时会取得相对较好的效率,在一个row source较小时,则取得更好的效率。

 b)只能用在等值连接中。

 

六、产生执行计划的三种方式

 

1.set autotrace on   set autotrace traceonly

  a)如果出错,则执行 ?/rdbms/admin/utlplan.sql

  b)用sys登录,执行 ?/sqlplus/admin/plustrce.sql

  c)grant plustrace to user_name

 

2.用explain plan命令

3.用dbms_system存储过程生成执行计划

 

 

七、干预执行计划-------hints

 

hints可实现:

 1)使用优化器的类型。

 2)基于代价的优化器的优化目标,是all_rows还是first_rows

 3)表的访问路径,是全表扫描,还是索引扫描,还是直接利用rowid

 4)表之间的连接类型

 5)表之间的连接顺序

 6)语句的并行程度。

 

指示优化器的方法与目标的hints:

  ALL_ROWS  ---基于代价的优化器,以吞吐量为目标。

  FIRST_ROWS(n)----基于代价的优化器,以相应时间为目标。

  CHOOSE    ----------根据是否有统计信息,选择不同的优化器。

   RULE  -------------   使用基于规则的优化器

 

select /*+ FIRST_ROWS(10) */ employee_id,last_name,salary job_id from employees where department_id = 20;

select /*+ CHOOSE */ employee_id,last_name,salary job_id from employees where department_id = 20;

select /*+ RULE */ employee_id,last_name,salary job_id from employees where department_id = 20;

 

指示存储路径的hints:

 FULLS   /*+ FULL (table) */

 ROWID  /*+ ROWID(table) */

 INDEX   /*+ INDEX(table[index] */

 INDEX_FFS /*+ INDEX_FFS(table[index] */

 NO_INDEX /*+ NO_INDEX(table[index] */

 

指示连接顺序的hints:

  ORDER /*+ ORDER */

  START  /*+ START */

 

指示连接类型的hints:

  USE_NL  /*+ USE_NL(table[table,...]) */   嵌套连接

  USE_MERGE  /*+ USE_MERGE(table[table,...]) */ 使用排序-- 合并连接

  USE_HASH  /*+ USE_HASH(table[table,...]) */使用HASH连接

 

 

 

 

 

 

 

 

 

华为OD机试 - 幸运数字(Java 2024 E卷 100分) 华为OD机试 2024E卷题库疯狂收录中,刷题。 阅读详情

相关推荐

LangChain Message 官方文档

消息是聊天模型中的基本通信单位。它们用于表示聊天模型的输入和输出,以及与对话相关的其他上下文或元数据。每条消息都包含一个角色(如“用户”、“助手”)和内容(如文本或多模态数据),并可能包含根据不同聊天模型提供商而有所不同的附加元数据。LangChain 提供了一个统一的消息格式,可以跨不同聊天模型使用,简化用户在不同模型之间切换时所需关注的消息格式差异。

AI Agent 首席体验官 896

(转)执行计划相关概念

※ 驱动表(driving table)和被探查表(probed table)的概念 驱动表又称为外层表(outer table),这个概念用于嵌套与hash连接中,如果驱动表row source返回较多的行数据,则对所...

cla37092的博客 186

202505系分论文《论软件系统测试方法及应用》

本文以软件测试方法为切入点,重点论述分层协作、智能赋能、全流程三个维度下传统测试与自动化测试的融合应用。

pccai的博客 1693

驱动表

驱动表(driving table/outer table)又称为外层表,驱动表仅仅用于nested loops join 和 hash join驱动表是用来驱动查询的在cbo中,优化器会根据cost自动选择驱动表,与表的顺序无关。通常情况下,驱动表的选择性较高(该列唯一键与列的比值较高),where中的限制条件较多,返回的行数较少的表适合做驱动表,看见pub上面讨论小表适合做驱动表,

落落的专栏 专注SQL调优 性能调优 6140

10分钟上手YOLOv11:最强姿态估计模型来了,代码开源,效果炸裂!

【10分钟玩转YOLOv11实时姿态估计】🚀 YOLOv11作为YOLO家族最新成员,在速度、精度和易用性上全面升级,尤其适用于姿态估计等复杂视觉任务。本文带您快速掌握: 1️⃣ 核心概念:姿态估计即识别人体17个关键点(如关节部位)并连接成数字骨架,是智能健身、体感游戏等应用的基础。 2️⃣ 技术优势: 超轻量级(最小仅2.9M参数) 极速推理(GPU仅1.7ms) 高精度(COCO mAP@50-95达50%) 3️⃣ 三步实操: ① 安装:pip install ultralytics ② 准备人物

weixin_41246802的博客 1787

强化学习实战:如何用PPO算法训练一个超级马里奥AI(附完整代码)

本文提供了一份详细的强化学习实战指南,教你如何使用PPO算法训练一个能玩《超级马里奥》的AI智能体。内容涵盖从环境搭建、自定义奖励函数设计到PPO智能体的PyTorch完整实现,并附有可运行的代码,帮助开发者快速上手游戏AI开发。

h6j7k8l9p0的博客 947

连表查询之驱动表

联表查询注意谁是驱动表&你搞不清楚谁join谁更好时请放手让mysql自行判定   写在前面的话:    不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程;    不要求每个人一定知道线上(现在或未来)哪张表数据量大,哪张表数据量小;     但把mysql客户端(如SQLyog,如HeidiSQL)放在桌面上,时不时拿出来

写给自己看 5252

2024年厦门市第31届小学生C++信息学竞赛试题与解析(第一部分选择题1-10)

2024年厦门市第31届小学生C++信息学竞赛试题与解析(第一部分选择题1-10)

汉克老师的博客 106

驱动表和被驱动表

驱动表:要选择小的表作为驱动表大的表作为被驱动表"驱动表是在使用多表嵌套连接时,会先全表扫描该驱动表,然后驱动表返回的结果集中一行一行去匹配被驱动表(可以利用索引),所以我们会选择小表做为驱动表,而被驱动使用索引进行连接。对于基...

csb47658的博客 592

基于 Python + Flask + Echarts 的疫情监控系统

基于 Python + Flask + Echarts 的疫情监控系统

743

24、水下传感器网络中混合LEACH协议与遗传算法获取路由节点

本文提出了一种结合遗传算法与LEACH协议的混合路由方案,用于提升水下无线传感器网络(UWSN)的能量利用效率和数据传输稳定性。通过遗传算法优化簇头选择与路径规划,有效避免节点过早死亡,减少能量消耗,在200个节点场景下显著提升网络寿命。相比传统LEACH协议,该方案具有更高的能量利用率、更强的环境适应性,并支持传输历史记录与并行传输序列。实验结果显示,该方案在总能量为2000焦耳时剩余能量达75.6%,远优于LEACH的34.8%能耗表现。适用于海洋监测、石油平台监控及水下灾害预警等复杂环境应用。

i8j9k0l1的博客 112

对驱动表和被驱动表的深入理解

不论对于nest loop 还是hash join的方式,决定驱动表和被驱动表,需要综合表的数据量大小和表数据的适合访问方式(随机读取或顺序读取)来确定。 对于循环嵌套 nest loop的表联结方式 驱动表,即需要从驱动表中拿出来每条记录,去与被驱动表的所有记录进行匹配探测。 理解驱动表和被驱动表的差异,最本质的问题,需要理解顺序读取和随机读取的差异,内存是适合随机读取...

liuyouzhang89的专栏 1万+

【OS】AUTOSAR OS系统调用产生Trap的过程详解

AUTOSAR OS系统调用产生Trap的过程详解

qq_36056498的博客 2438

DB2中的终极SQL性能调节技术

使用针对工作负载的正确的性能调节技术,以避免硬件升级和优化DB2性能  性能通过响应时间,吞吐量,峰值响应时间,命中和每秒会话来衡量。SQL编码和调节技术直接影响性能。开发高性能的DB2应用需要对DB2技术的深入了解。  当然在小数据量时这些技术无足轻重。忽略的连接,子查询,表的表达式和CASE表达式的程序完全可以在轻量级负载下工作的很好。使用100%的SELECT INFO语句来进行数据获取的程

elimago的专栏 773

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Oracle SQL性能调节的方法

简单介绍一下使用tkprof工具调整Oracle SQL语句性能的方法。 用tkprof工具测量执行时间 利用EXPLAIN PLAN语句解释执行计划 用tkprof工具测量执行时间 首先在SQL*Plus中执行以下SQL语句,开启执行记录功能。 alter session set timed_statistics=tru...

weixin_34248118的博客 102

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ORACLE 性能优化 高水位调节

>索引优化->分区优化->优化器hints优化2.就是select,select后面避免使用*,查什么字段就写什么字段,因为使用*是走全表扫描的,不走索引3.最有效率的表名顺序,oracale的解析器按照从右到左的顺序处理FROM子句中的表名,所以把数据记录最少的放在最后面,如果有三张表以上的表,那就把交叉表放在最后面;4.,join 之前先去重或者过滤一下,这样join时连接表的数据量更少,连接过程就优化了。

ziaoming_biu的博客 1547

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

得到sql执行性能输出

 SET STATISTICS IO ON SET STATISTICS TIME ON /*查询语句开始*/ SELECT * FROM TABNAME  /*查询语句结束*/ SET STATISTICS IO OFF SET STATISTICS TIME OFF 详情介绍以及参数说明: 首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性

u011187194的专栏 399

T-SQL命令在SQL Server查询中的运用

  首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET STATISTICS TIME这二条被经常忽略的Transact-SQL命令的。  从表面上看,查询性能的调节是一件十分简单的事。从本质上讲,我们希望查询的运行速度能够尽可能地快,无论是将查询运行

键者天行 6968

sqlserver cpu,io性能指标

CPU Time& Elapsed Time 的差异    在我们使用set statisticstime on 来查看SQL语句执行的时间时,SQL Sever会给我们返回来两个时间一个是CPU Time 另一个是ElapsedTime 那么这两个时间有什么不同呢?        CPU Time 指的是CPU在忙于执行当前任务的时间,其并没有考虑等待时间,如IO等待,网络等待等,而El

ly1577592799的专栏 2870

5个有效的YashanDB性能调节技巧分享

BTREE结构作为默认索引结构,保持索引数据的有序性,可大幅减少查询数据块数,提高检索效率。YashanDB中共享内存区(SGA)包括SQL缓存池、数据缓存区和有界加速缓存,优化内存参数(如DATA_BUFFER_SIZE、SHARE_POOL_SIZE),提高缓冲命中率,减少物理I/O,提升响应速度。通过业务数据访问特征识别热点和稳定数据,合理设计表的存储结构,例如将实时变化频繁的热数据存放于MCOL结构以提升更新效率,将历史稀疏数据归档至SCOL结构实现压缩存储与快速扫描,能够获得最佳性能表现。

2501_91591875的博客 659

T-SQL命令在SQL Server查询中的运用 (From 键者天行)

首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET STATISTICS TIME这二条被经常忽略的Transact-SQL命令的。  从表面上看,查询性能的调节是一件十分简单的事。从本质上讲,我们希望查询的运行速度能够尽可能地快,无论是将查询运行的时

764

Transact-SQL命令----SET STATISTICS IO和SET STATISTICS TIME

  首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET STATISTICS TIME这二条被经常忽略的Transact-SQL命令的。  从表面上看,查询性能的调节是一件十分简单的事。从本质上讲,我们希望查询的运行速度能够尽可能地快,无论是将查询运行

Zhangzs8896(小二) 的专栏 816

[SQL基础]统计信息解释

在平时优化SQL的时候,最长用的就是:SET STATISTICS ON,它可以用来查看我们写的查询语句到底性能如何,不过,究竟这个性能的指标是怎么样的呢?首先需要明白的,就是各项数据的意义。 以下解释来自MSDN(点击查看) 输出项 含义 Table 表的名称。 scan count 执行的扫描次数。 logic...

weixin_33953384的博客 91

STATISTICS IO和SET STATISTICS TIME命令详解

首先需要说明的是这篇文章的内容并不是如何调节SQL Server查询性能的(有关这方面的内容能写一本书),而是如何在SQL Server查询性能的调节中利用SET STATISTICS IO和SET STATISTIC...

cuihaihua9111的博客 262
上一篇: subversion安装及使用
下一篇: 快速搭建dataguard
Phoenix_99
博客等级 码龄18年 116粉丝 358原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值