SQL查询性能分析
SQL查询性能的好坏直接影响到整个数据库的价值,对此,必须郑重对待。
SQL Server提供了多种工具,下面做一个简单的介绍:
一、SQL Profiler工具
SQL Profiler可用于:
l 图形化监视SQLServer查询;
l 在后台收集查询信息;
l 分析性能;
l 诊断像死锁这样的问题;
l 调试Transact-SQL(T-SQL)语句;
l 模拟重放SQLServer活动
注意:定义一个跟踪最有效的方法是通过系统存储过程,但是学习的起点还是通过GUI。
1.1、 Profiler跟踪:
建议使用标准模版
1.2、 事件:
一个事件表现SQLServer中执行的各种活动。可以简单分类为:事件类、游标事件、锁事件、存储过程事件和T-SQL事件。
对于性能分析,主要关心以下部分:
l SQL活动涉及哪一类的CPU使用?
l 使用了多少内存?
l 涉及多少I/O操作?
l SQL活动执行了多长时间?
l 特定的查询执行的频率多高?
l 查询面对哪类错误和警告?
跟踪查询结束的事件:
事件类 | 事件 | 描述 |
Stored Procedures | RPC:Completed | RPC完成事件 |
SP:Completed | 存储过程完成事件 | |
SP:StmtCompleted | 在存储过程中一条SQL语句完成事件 | |
TSQL | SQL:BatchCompleted | T-SQL批完成事件 |
SQL:StmtCompleted | 一条T-SQL语句完成事件 |
RPC事件表示存储过程使用远程过程调用(RPC)机制通过OLEDB命令执行。如果一个数据库应用程序使用T-SQL EXECUTE语句执行一个存储过程,那么会被转化为一个SQL批而不是一个RPC,RPC通常比EXECUTE请求快,因为它们绕过了SQLServer中的许多语句解析和参数处理。
T-SQL批是一组被一起提交到SQLServer的SQL查询,以GO结束。GO不是一条T-SQL语句,而是有Sqlcmd使用程序和Management Studio识别。象征着批的结束。T-SQL批由一条或多条T-SQL语句组成。语句或T-SQL语句在存储过程(以下简称SP)中也是独立和离散的。用SP:StmtCompleted或SQL:StmtCompleted事件捕获单独的语句可能代价很高。收集时要非常谨慎,特别在生产环境上。
跟踪查询性能的事件:
事件类 | 事件 | 描述 |
Security Audit(安全审计) | Audit Login(登录审计) | 记录用户连接到SQL Server或断开连接时数据库的连接 |
Audit Logou(注销审计) | ||
Seesions(会话) | ExistingConnection(现有连接) | 表示所有在跟踪开始之前连接到SQLServer的用户 |
Cursors(游标) | CursorImplicitConversion(游标隐含转换) | 表明创建的游标类型与所请求的类型不同。 |
Errors and Warnings(错误和警告) | Attention(注意) | 表示由于客户撤销查询或者数据库连接破坏引起的请求中断 |
Exception(异常) | 表明SQLServer中发生了异常 | |
Execution Warnings(执行警告) | 表明在查询或SP执行过程中出现了警告 | |
Hash Warning(hash警告) | 表明hash操作中发生了错误 | |
Missing Column Statistics(列统计丢失) | 表明优化器要求的确定处理策略用的列统计丢失。 | |
Missing Join Predicate(连接断言丢失) | 表明查询在两表之间没有连接断言情况下执行。 | |
Sort Warnings(排序警告) | 表明像select这样的查询中执行的排序操作没有合适的内存。 | |
Locks(锁) | Lock: Deadlock(死锁) | 标志着死锁的出现 |
Lock: Deadlock Chain(死锁链) | 显示产生死锁的查询链条 | |
Lock: Timeout(锁超时) | 表示锁已经超过了其超时参数,该参数由SET LOCK_TIMEOUT timeout_period(MS)命令设置 | |
Stored Procedures(存储过程) | SP:Recompile(重编译) | 表明用于一个存储过程的执行计划必须重编译,原因是执行计划不存在,强制的重编译,或者现有的执行计划不能重用。 |
SP:Starting(开始) SP:StmtStarting(语句开始) | 分别表示一个SP:StmtStarting存储过程和存储过程中的一条SQL语句的开始。它们对于识别开始但因为一个操作导致Attention事件而未能结束的查询很有用。 | |
Transactions(事务) | SQLTransaction(SQL事务) | 提供数据库事务的信息,包括事务开始/结束的时间、事务持续时间的信息。 |
1.3、 数据列:事件的特性。如事件的类、用于该事件的SQL语句、锁资源开销及事件来源。
数据列 | 描述 |
EventClass(事件类) | 事件类型,如SQL:StatementCompleted |
TextData | 事件所用的SQL语句 |
CPU | 事件的CPU开销(ms) |
Reads | 为一个事件所执行的逻辑读操作数量。 |
Writes | 一个事件所执行的逻辑写操作数量。 |
Duration | 事件的执行事件(ms) |
SPID | 该事件的进程ID |
StratTime | 事件开始的事件 |
逻辑读、写由内存中的8KB页面活动组成,可能需要0或者多个物理I/O。找到物理I/O操作数,使用系统监视工具。
二、跟踪的自动化
注意:SQL Profiler对性能存在负面影响,如非必要不要在生产环境长期使用。
1. 使用GUI捕捉跟踪:
可以使用两种方法创建脚本化的跟踪——手工或GUI:
可以使用Profiler的导出功能导出脚本。
2. 使用存储过程捕捉跟踪:
l Sp_trace_create:创建一个跟踪定义。
l Sp_trace_setevent:添加事件和事件列到跟踪中。
l Sp_trace_setfilter:将过滤器应用到跟踪。
可以使用内建函数:fn_trace_getinfo确定正在运行的跟踪:
SELECT * FROM ::fn_trace_getinfo(default);
可以使用:sp_trace_setstatus停止特定的跟踪:
EXEC sp_trace_setstatus 1,0
—停止id为1的跟踪。
关闭跟踪后,必须删除:
EXEC sp_trace_setstatus 1,2
可以重新执行fn_trace_getinfo函数确认是否已经关闭。
三、结合跟踪和性能监视器输出
可以结合SQL Profiler和性能监视器来分析性能,此处不多说
四、SQL Profiler建议
使用SQL Profiler时,要考虑以下几点:
l 限制事件和数据列的数量;
l 抛弃用于性能分析的启动事件;
l 限制跟踪输出大小;
l 避免联机数据列排序;
l 远程运行Profiler
1、 限制事件和数据列:
捕捉像锁和执行计划这样的事件时应该小心进行,因为输出会变得非常大并降低SQL Server性能。
2、 丢弃性能分析所用的启动事件:
像SP:StmtStarting这样的启动事件不提供分析信息,因为只有事件完成才能计算I/O量、CPU负载和查询的持续时间。
使用捕捉启动事件的时机是:预期某些SQL查询因为错误而不能结束执行,或者频繁发现Attention事件按的时候捕捉。因为Attention事件一般表示用户中途撤销了查询或者查询超时,可能因为查询运行了太长时间。
3、 限制跟踪输出大小:
在Edit Filter(编辑过滤器)对话框中做以下设置:
l Duration-Greater than or equal:2(持续事件>=2):持续事件等于0或1ms的查询不能进一步优化。
l Reads-Greater than or equal:2(读操作数量>=2):逻辑读数量等于0或1的查询不能进一步优化。
4、 避免在线数据列排序:
(1)、捕捉跟踪,不做任何排序或分组。
(2)、保存跟踪输出到一个跟踪文件。
(3)、打开跟踪文件并按照需要排序。
5、 远程运行Profiler:
使用系统存储过程比使用GUI对性能方面有好处。
6、 限制使用某些事件:在已经遇到压力的系统上,不要使用Showplan XML事件
五、没有Profiler情况下的查询性能度量
对于需要立即捕捉系统,使用DMV:sys.dm_exec_query_stats比Profiler有效,如果需要查询运行机器单独开销的历史记录,跟踪仍是更好的工具。
sys.dm_exec_query_stats:获取服务器上查询计划统计的信息:
列 | 描述 |
Plan_handle | 引用执行计划的指针 |
Creation_time | 计划创建的时间 |
Last_execution time | 查询最后一次使用计划的时间 |
Execution_count | 计划已经使用的次数 |
Total_worker_time | 从创建起计划使用的CPU时间 |
Total_logical_reads | 从创建起计划使用的读操作数量 |
Total_logical_writes | 从创建起计划使用的写操作数量 |
Query_hash | 可用于识别有类似逻辑的查询的一个二进制hash |
Query_plan_hash | 可用于识别有相似逻辑的计划的一个二进制hash |
为了过滤信息,需要关联其他DMF。如sys.dm_exec_sql_text来查看查询文本。
Sys.dm_query_plan显示查询的执行计划。从而限制不必要的返回信息。
六、开销较大的查询
对于收集结果,应该分析两部分:
l 导致大量系统资源压力的查询;
l 速度降低最严重的查询
1、 识别开销较大的查询:
对于返回的跟踪数据,CPU和Reads列显示了查询开销所在。在执行读操作时,内存页面必须在操作查询中被备份,在第一次数据访问期间写入,并在内存瓶颈时被移到磁盘。过多页面CPU还会增加管理页面的负担。
导致大量逻辑读的查询通常在相应的大数据集上得到锁。即使读,也需要在所有数据上的共享锁。阻塞了其他请求修改的查询。但不阻塞读数据的查询。如果查询很久,那么会持续阻塞其他查询,被阻塞的查询进一步阻塞其他查询,引起数据中的阻塞链。
结论,识别开销大的查询并首先优化它们从而达到以下效果:
l 增进开销较大的查询本身的性能;
l 降低系统资源上的总体压力;
l 减少数据库阻塞;
开销大的查询有两类:
l 单次执行:查询一次开销较大
l 多次执行:查询本身不大,但是重复执行导致系统资源上的压力。
1. 单次执行开销较大的查询:
可以使用SQL Profiler,或者查询sys.dm_exec_query_stats来识别开销大的查询。
(1)、捕捉表示典型工作负载的Profiler跟踪。
(2)、将跟踪输出保存到一个跟踪文件。
(3)、打开跟踪文件进行分析。
(4)、打开跟踪的Properties(属性)窗口,单击Event Selection(事件选择)选项卡。
(5)、单机按钮打开Organize Columns(组织列)窗口。
(6)、在Reads列上分组跟踪输出。
(7)、使用分组的跟踪。
2. 多次执行开销较大的查询:
l 这种情况下,Profiler中跟踪输出的以下列上分组:EventClass、TextData和Reads。
l 导出Profiler跟踪表。使用内建函数fn_trace_gettable导入到一个跟踪表。
l 访问sys.dm_exec_query_statsDMV从生产服务器检索信息。
把数据装入到数据库的一个表中
SELECT *
INTO Trace_Table
FROM ::FN_TRACE_GETTABLE('C:\PerformanceTrace.trc', DEFAULT)
执行下面语句查询多次执行的读操作总数:
SELECT COUNT(*) AS TotalExecutions ,EventClass ,TextData ,SUM(Duration) AS Duration_Total ,SUM(CPU) AS CPU_Total ,SUM(Reads) AS Reads_Total ,SUM(Writes) AS Writes_Total
FROM Trace_Table
GROUP BY EventClass ,TextData
ORDER BY Reads_Total DESC
SQL Server 2008不支持在NTEXT数据类型进行分组。而TextData是ntext类型,要转换成Nvarchar(max)
SELECT ss.sum_execution_count ,t.text ,ss.sum_total_elapsed_time ,ss.sum_total_worker_time ,ss.sum_total_logical_reads ,ss.sum_total_logical_writes
FROM ( SELECT s.plan_handle ,SUM(s.execution_count) sum_execution_count ,SUM(s.total_elapsed_time) sum_total_elapsed_time ,SUM(s.total_worker_time) sum_total_worker_time ,SUM(s.total_logical_reads) sum_total_logical_reads ,SUM(s.total_logical_writes) sum_total_logical_writesFROM sys.dm_exec_query_stats sGROUP BY s.plan_handle) AS ssCROSS APPLY sys.dm_exec_sql_text(ss.plan_handle) t
ORDER BY sum_total_logical_readsDESC
3. 识别运行缓慢的查询:
需要定期监视输入的SQL查询的执行时间,并找出运行缓慢的查询的响应时间。但是不是所有运行缓慢的查询都是由于资源问题形成。如阻塞那些都有可能导致缓慢的查询。
可以在Duration上跟踪。
七、执行计划
1、 分析查询计划
执行计划从右到左,从上到下的顺序阅读。每个步骤代表获得查询最终输出所执行的操作。执行计划有以下特征:
l 如果查询由多个查询的批组成,每个查询的执行计划按照执行的顺序显示。批中的每个执行将有一个相对的估算开销,整个批的总开销为100%。
l 执行计划中的每个图标代表一个操作符。有相对的估算开销,所有节点的总开销为100%。
l 执行计划中的一个起始操作符通常表示一个数据库对象(表或索引)的数据检索机制。
l 数据检索通常是一个表操作或索引操作。
l 索引上的数据检索将是索引扫描或索引查找。
l 索引上的数据检索的命名惯例是[表名].[索引名]。
l 数据从右到左在两个操作之间流动,由一个连接箭头表示。
l 操作符之间连接箭头的宽度是传输行数的图形表示。
l 同一列的两个操作符之间的连接机制将是嵌套的循环连接,hash匹配连接或者合并连接。
l 将光标放置在执行计划的一个节点上,显示一个具有一些细节的弹出窗口。
l 在Properties(属性)窗口中有完整的一组关于操作符的细节。可以右键单击操作符并选择Properties。
l 操作符细节在顶部显示物理和逻辑操作的类型。物理操作代表存储引擎实际使用的,而逻辑操作是优化器用于建立估算执行计划的结构。如果相同,只显示物理操作。还会显示其他信息:I/O、CPU等。
l 操作符细节弹出窗口的Argument(参数)部分在分析中特别有用,因为显示了优化器锁使用的过滤或连接条件。
2、 识别执行计划中开销较大的步骤:
l 执行计划中每个节点显示整个计划中的相对开销,整个计划总开销为100%。关注最高相对开销的节点。
l 执行计划可能来自于一批语句,因此可能也需要查找开销最大的语句。
l 查看节点之间连接箭头的宽度。非常宽的连接箭头表示对应节点之间的传输大量的行。分析箭头左边的节点以理解需要这么多行的原因,还要检查箭头的属性。可能看到估计的行和实际的行不一样,这可能由过时的统计造成。
l 寻找hash连接操作。对于小的数据集,嵌套的循环连接通常是首选的连接技术。
l 寻找书签查找操作。对于大结果集的书签操作可能造成大量的逻辑读。
l 如果操作符上有一个叹号的警告,是需要立刻注意的领域。这些警告可能是由各种问题造成的,包括没有连接条件的连接或者丢失统计的索引和表。
l 需找执行排序操作的步骤,这表示数据没有以正确的排序进行检索。
3、 分析索引有效性:
要关注【扫描】,扫描代表访问大量的行。可以通过以下方式判断索引有效性:
l 数据检索操作
l 连接操作
有时候执行计划中没有【断言】(predicate),缺乏断言意味着整个表(聚簇索引就是该表)被作为合并连接操作符的输入进行扫描。
4、 分析连接有效性:
SQLServer使用3中连接类型:
l Hash连接;
l 合并连接
l 嵌套循环连接
1、 Hash连接:
1.1、 Hash连接高效处理大的、未排序的、没有索引的输入。
1.2、 Hash连接使用两个连接输入:建立输入(build input)和探查输入(probe input)。建立输入是执行计划中上面的那个输入,探查输入是下面那个输入。
1.3、 最常见的hash连接方式——in-memory hash join,整个建立输入被扫描或计算然后在内存中建立一个hash表。每个行根据计算的hash键值(相等断言中的一组列)被插入一个hash表元中。
内存hash连接的示意图:
2、 合并连接:
2.1、合并连接要求两个输入在合并列上排序,这将在连接条件中定义。如果两个连接有索引,那么连接输入由该索引排序。由于每个连接输入都被排序了,合并排序从每个输入得到一行并比较是否相等。如果相等,匹配行被生成。过程被重复到所有行都被处理。
2.2、如果优化器发现连接输入都在其连接列上排序,合并连接就比hash连接更快而被选中。
3、 嵌套循环连接:
3.1、始终从单独的表中访问有限数量的行,为了理解使用较小结果集的效果,在查询中降低连接输入。
3.2、使用一个连接输入作为外部(outer)输入表。另一个作为内部(inner)输入表。外部表是执行计划的上方输入,内部表是下方输入。外部循环逐行消费外部输入表。内部循环为每个外部行执行一次,搜索内部输入表的匹配行。
3.3、如果外部输入相当小,内部输入大但有索引,嵌套循环连接是非常高效的。连接通过牺牲其他方面来提高速度——使用内存来取得小的数据集并快速与第二个数据集比较。合并排序与此类似,使用内存和一小部分tempdb排序,hash连接使用内存和tempdb建立hash表。
3.4、虽然循环连接更快,但是随着数据集变得更大,比hash或合并消耗更多的内存。所以SQL Server会在不同数据集的情况下使用不同计划的原因。
3种连接类型的特性:
连接类型 | 连接列上的索引 | 连接表的一般大小 | 预先排序 | 连接子句 |
Hash | 内部表:不需要索引 外部表:可选 最佳条件:小的外部表,大的内部表 | 任意 | 不需要 | Equi-join |
合并 | 内部/外部表:必须 最佳条件:两个表都有聚簇索引或覆盖索引 | 大 | 需要 | Equi-join |
嵌套循环 | 内部表:必须 外部表:最好有 | 小 | 可选 | 所有 |
注意:在hash和嵌套循环连接中,外部表一般是两个连接表中较小的一个。
5、 实际执行计划vs估算执行计划:
估算执行计划对临时表无法生成。
6、 计划缓存:
一般是保存在内存空间。可以使用DMV来查询:
SELECT p.query_plan ,t.text
FROM sys.dm_exec_cached_plansrCROSS APPLY sys.dm_exec_query_plan(r.plan_handle) pCROSS APPLY sys.dm_exec_sql_text(r.plan_handle) t
八、查询开销
1、 客户统计:将计算机作为服务器的一个客户端,从这个角度去发出捕捉执行信息。
点击SSMS中的【查询】→【包含客户统计】,但这一步不是很好的收集方法。有时候需要重置:【查询】→【重置客户统计】
2、 执行时间:
Duration和CPU都代表着查询的时间因素,可以使用SET STATISTICS TIME来取得执行时间。
其中最后一行的CPU时间等于Profiler的CPU值,占用时间代表Duration值。0毫秒的分析和编译时间说明重用了执行计划。可以执行:DBCC FREEPROCCACHE清除缓存。但是不要在生产系统上执行,因为某种情况下,这和重启的开销相同。
3、 STATISTICS IO:
Profiler获取的Reads列的读取次数尝尝是Duration、CPU、Reads和Writes这些因素中最重要的。在解读STATISTICS IO的输出时,多半参考【逻辑读】操作。有时候也会参考扫描计数。物理读操作和预读数量在数据不能在内存中找到时将不为0,但一旦数据填写到内存,物理读和预读将趋向于0。在优化期间,可以监控单表的读操作次数以确保确实减少了该表的数据访问开销。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 基于关系结构的轻量级工作流引擎
1 引言目前,针对企业或者部门的计算机应用已不仅仅停留在诸如文档处理、公文流转以及信息发布等这些简单的业务层面上。越来越多的企业或部门要求将信息技术的应用扩展到关键业务中。关键业务的普遍特征是:(1)是企业或部门赖以生存的;(2)业务过程往往由许多业务活…...
2024/4/27 23:26:47 - 对软件架构三大原则的思考与批判:KISS、SOLID、内紧外松
按:《原则》、《穷宝典》都在告诉你要学会去构建自己的原则。关于互联网技术的原则Rule很多、Law很少,大多都是经验性的。在架构设计过程中大家都容易互喷,因为极少人思考Law。KISS、SOLID、内紧外松是经典的三大原则,没有经过反思和批判的学习,是不彻底的,是一知半解的。…...
2024/4/21 8:57:55 - CheckListBox获取多选的项文本和Value值
//绑定数据源this.checkedListBox1.DataSource = dt;this.checkedListBox1.DisplayMember = "roomid";this.checkedListBox1.ValueMember = "ids";int count = this.checkedListBox1.Items.Count;for (int i = 0; i < count; i++){if(this.checkedListB…...
2024/4/28 6:18:31 - 《与孩子一起学编程》译者序
Normal07.8 磅02falsefalsefalseEN-USZH-CNX-NONE首先,你可能想知道这本书讲些什么。这是一本编程书,它会告诉你什么是编程,什么是程序,程序有哪些方面,需要了解哪些概念……,我不想在这里列出这些深奥的术语把你吓住,你在书中可以找到,而且会发现其实这些概念一点也不…...
2024/4/28 1:39:07 - C# CheckListBox 移除所有选中的项
网上找了半天,没找到能用的。 不过倒是找到了思路。 正着一个个删,是删不掉滴,删一个后,下一个的index就变了。INDEX是空不了的。 只能反着移。 先写了一个笨一点的方法,循环最多次,倒是能实现一次性全删除,不过循环过多。for (int i = checkedListBox1.Items.Count-1 ;…...
2024/4/28 4:32:02 - [SQL]计算机二级常用SQL语句
第一节关系数据库标准语言 1、SQL概述 (1) SQL(structured query language )是结构化查询语言的缩写,是关系数据库的 标准语言。SQL的核心是查询,主要功能为:数据查询(Select) 、数据定义(Create 、 Drop,Alter) 、数据操纵(Insert ,Update , Delete) 、数据控制(Grant , …...
2024/4/22 14:00:10 - Snaker开源工作流研究002——快速入门
部署官方打包的war到本地官网入门:http://snakerflow.github.io/quickstart.html一、下载: 在链接http://pan.baidu.com/s/1hqza8BU中下载以下文件:文件路径说明/snaker-web-1.0.0.war基于snaker流程引擎的演示应用二、创建数据库: 选择一款数据库软件(以Mysql为例),创建sna…...
2024/4/20 18:19:55 - PB 中messagebox的使用方法
基本写法:Messagebox(标题,内容) 完整写法:MessageBox ( 标题,内容,图标,按键,默认值)其中标题与内容为要显示的字符串,不可省略,但可以省略,即什么也不显示,例如Messagebox(,)这样也是正确的单里面的东西一样也不能少! 图标可选值: Information! 或 StopSign! 或 Exclam…...
2024/4/20 1:21:10 - CheckListBox的一些用法!
//填充 strsql:=select cDepName ,cDepCode from department;rs.Close;rs.SQL.Clear;rs.SQL.Add(strsql);rs.Open;CheckListBox1.Clear;while not rs.Eof do begin ChecklistBox1.Items.Add(rs.FieldValues[cDepName]); rs.Next; end; //改变数据库中的字段值procedure Tf…...
2024/4/20 18:19:54 - hbase的基本sql使用
运用ambari安装phoenix,连接hbase,运用sql语句 数据存储在HBase中,通过SQL进行CRUD操作 创建test表create table test( pk VARCHAR primary key, col1 VARCHAR null, col2 VARCHAR null, col3 VARCHAR null );创建SRC_TABLE表create table SRC_TABLE ( pk VARCHAR primary ke…...
2024/4/21 8:57:50 - mint-ui 中MessageBox的使用方法
1.引入 import { Message } from mint-ui2.使用 downLoad(){MessageBox({title: 标题,message: 信息,showCancelButton: true}).then(action => {if(action === confirm){console.log("点击了确定");}if(action === cancel){console.log("点击了取消");…...
2024/4/23 3:59:31 - K2工作流学习笔记
★K2.net 版本介绍k2.net 2003:基于.Net Framework的工作流平台 k2.net blackpearl:基于Windows Workflow Foundation开发 k2.net 4.5:blackpearl的升级版本1.K2.net 2003 Studio是K2工作流的开发工具产品核心组件,图形化的流程建模,集成于visual studio。也可单独使用k2.net…...
2024/4/21 8:57:48 - 面向对象程序设计——第六章接口课后作业
1.在第三题的进行功能扩展。package come.job.dome; /*** * @author 宠物类**/ public class Store {public static Animal get(int choice) {if(choice==1) { //狗狗return new Dog();}else if(choice==2) { //猫return new Cat();}else {return new Pig(); //猪}} } package …...
2024/4/23 11:08:08 - DotNet2005checkListBox可以使用DataSource 绑定数据
今天在操作checkListBox时发现居然没有DataSource,后来在网上找了一下,居然可以使用 chkListPerson.DataSource = ds.Tables["tResult"];chkListPerson.ValueMember = "iStaffID"; chkListPerson.DisplayMember = "cName";...
2024/4/21 8:57:47 - C# MessageBox 使用方法
【说明】MessageBox("消息内容", "返回值 确定1",MessageBoxButtons.OK,MessageBoxIcon.Question); MessageBox("消息内容",, "返回值 确定1 取消2",MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);MessageBox("消息内容…...
2024/4/22 1:20:05 - Flink 最锋利的武器:Flink SQL 入门和实战
一、Flink SQL 背景Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时计算门槛而设计的一套符合标准 SQL 语义的开发语言。自 2015 年开始,阿里巴巴开始调研开源流计算引擎,最终决定基于 Flink 打造新一代计算引擎,针对 Flink 存在的不足进行优化和改进,并且在…...
2024/4/21 8:57:44 - Java面试题全集(上)
2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的…...
2024/4/26 22:45:34 - 千万别让工资收入成为你唯一的收入来源
大部分行业都有自己的生命周期,过了生命周期我们将不得不考虑下岗失业的问题,像 IT 行业这种高薪的职业生命周期也只有 10 年左右,如果程序员在 10 年之内无法成为架构师或者领导者的话,后半生的职业生涯将面临严峻的失业问题。到了 35 岁上有老下有小,有房贷有车贷有孩子…...
2024/4/21 8:57:42 - C# checklistbox用户点击列表框上的一个项目,将选中的项的值显示到界面上,取消勾选时,同步在界面上取消
简易场景:用户点击列表框上的一个项目,将选中的项的值显示到界面上,取消勾选时,同步在界面上取消。注意,要在ItemCheck事件里面写(如果在mouseClick事件里写,会有很多坑爹的问题),该事件有参数为e,调用e.currentValue和newValue就是目前的值和将要变化的值private void…...
2024/4/22 16:36:08 - 程序员推荐简单有效的科学健脑方法
勤练脑力可使记忆力增强,勤做有氧运动可使大脑灰质增加,勤于思考可使理智与情感有机互补。这些措施看上去很美,但美中不足的是,它们对大脑的训练都不够彻底,这也是越来越多此类研究的通病。记忆训练对大脑的好处当然比看真人秀什么的要靠谱得多,但这些训练充其量也就能够…...
2024/4/28 10:05:02
最新文章
- 调用Oracle函数怎么把大于32k的json保存进数据库
当需要将大于32K的JSON保存进Oracle数据库时,你不能直接使用普通的VARCHAR2或CHAR数据类型,因为这些数据类型的长度限制通常小于32K。相反,你应该考虑使用CLOB(Character Large Object)数据类型来存储长文本࿰…...
2024/4/28 10:37:50 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 腾讯云云原生数据库TDSQL-C mysql 以及项目怎么接入
要接入腾讯云的云原生数据库TDSQL-C的MySQL版本,并将它用于你的项目中,你需要按照以下步骤进行: 创建TDSQL-C的MySQL数据库实例: 登录腾讯云控制台。在产品搜索框中搜索TDSQL-C,然后选择它。在TDSQL-C的产品页面上&…...
2024/4/27 8:49:34 - 【项目新功能开发篇】开发编码
作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是࿰…...
2024/4/27 12:02:13 - 基于物联网的智能家居远程视频监控系统设计与实现
基于物联网的智能家居远程视频监控系统设计与实现 摘要:随着物联网技术的快速发展,智能家居系统已成为提升家居安全性和便利性的重要手段。本文设计并实现了一套基于物联网的智能家居远程视频监控系统,该系统结合了嵌入式技术、网络通信技术…...
2024/4/25 7:43:47 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/26 18:09:39 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/28 3:28:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/27 4:00:35 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/27 9:01:45 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/28 1:22:35 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57