搜尋
首頁資料庫mysql教程对于自适应游标共享的一点补充

关于自适应游标共享请参加:http://blog.csdn.net/yidian815/article/details/17959907 对自适应游标共享的理解,本人认为难点在于对BIND_SENSITIVE 和BIND_AWARE的认识。再来复习一下: bind_sensitive:oracle认为该语句可能会因为绑定变量的不同而需要采取

关于自适应游标共享请参加:http://blog.csdn.net/yidian815/article/details/17959907

对自适应游标共享的理解,本人认为难点在于对BIND_SENSITIVE 和BIND_AWARE的认识。再来复习一下:

bind_sensitive:oracle认为该语句可能会因为绑定变量的不同而需要采取不同的执行计划,因此需要监控该语句的执行并依据执行结果做出判断。

bind_aware:oracle通过监视已经认定该语句需要针对不同的绑定变量取值采取不同的执行计划。

现在就好出现如下的问题:

oracle认定什么样式的sql语句是bind_sensitve?

对于bind_aware的语句,oracle是如何根据不同的变量取值来选择执行计划的?

在回答这些问题之前,先来看一下测试环境

SQL> desc t2;
 名称						       是否为空? 类型
 ----------------------------------------------------- -------- ------------------------------------
 ID								NUMBER
 RTYPE								VARCHAR2(20)
 SEL								NUMBER

SQL> select column_name,histogram from dba_tab_cols where table_name='T2' AND OWNER='EASY1';

COLUMN_NAME		       HISTOGRAM
------------------------------ ---------------
ID			       NONE
RTYPE			       FREQUENCY
SEL			       NONE


SQL> select rtype,count(1),min(sel),max(sel) from t2 group by rtype order by 3;

RTYPE		       COUNT(1)   MIN(SEL)   MAX(SEL)
-------------------- ---------- ---------- ----------
1			      1 7.6295E-06 7.6295E-06
2			      2 .000015259 .000015259
3			      4 .000030518 .000030518
4			      8 .000061036 .000061036
5			     16 .000122072 .000122072
6			     32 .000244144 .000244144
7			     64 .000488289 .000488289
8			    128 .000976577 .000976577
9			    256 .001953155 .001953155
10			    512  .00390631  .00390631
11			   1024 .007812619 .007812619

RTYPE		       COUNT(1)   MIN(SEL)   MAX(SEL)
-------------------- ---------- ---------- ----------
12			   2048 .015625238 .015625238
13			   4096 .031250477 .031250477
14			   8192 .062500954 .062500954
15			  16384 .125001907 .125001907
16			  32768 .250003815 .250003815
17			  65536  .50000763  .50000763
sel代表rype在整张表中的选择性。

首先我们猜测第一个问题的答案。

因为bind_sensitive是针对绑定变量的不同取值而论的,因此我们认为只有具有绑定变量的语句才可能是bind_sensitive的。

SQL> select sum(id) from t2 where rtype=16;

   SUM(ID)
----------
1610596352

SQL> select sum(id) from t2 where rtype=1;

   SUM(ID)
----------
	 1
SQL> l
  1* select sql_text,is_bind_sensitive,is_bind_aware from v$sql where sql_text like 'select sum(id) from t2%'
SQL> /

SQL_TEXT						     I I
------------------------------------------------------------ - -
select sum(id) from t2 where rtype=1			     N N
select sum(id) from t2 where rtype=16			     N N
是不是具有绑定变量就一定会是bind_sensitive?
SQL> var v varchar2(100)
SQL> select sum(id) from t2 where rtype=:v;

   SUM(ID)
----------

SQL> select sum(id) from t2 where id=:v;

   SUM(ID)
----------
SQL> l
  1* select sql_text,is_bind_sensitive,is_bind_aware from v$sql where sql_text like 'select sum(id) from t2%'
SQL> /

SQL_TEXT						     I I
------------------------------------------------------------ - -
select sum(id) from t2 where rtype=1			     N N
select sum(id) from t2 where id=:v			     N N
select sum(id) from t2 where rtype=:v			     Y N
select sum(id) from t2 where rtype=16			     N N
看来不光需要具有绑定变量,还需要在绑定变量所在列上具有直方图统计信息才可以。当然这是在等值操作的情况下,在其他情况下那?在这里我们不做分析,至少在目前的情况下,oracle对bind_sensitive具有如下限制(官方文档):

The optimizer has peeked at the bind values to generate selectivity estimates.

A histogram exists on the column containing the bind value.

  • 下面一段文字来自网络,尽快参考

     Q: What triggers a cursor to be marked "bind sensitive"?

    A: Our goal is to consider many types of predicates where the selectivity can change when the bind value changes. In this first version of the feature, we only handle equality predicates where a histogram exists on the column and range predicates (with or without histogram). We do not currently consider LIKE predicates, but it is on the top of our list for future work.

    下面我们来看看bind_aware的语句是如何工作的,为了简化操作,我们直接使用BIND_AWARE hint。关于该hint的使用,有如下解释:

    From 11.1.0.7 onward it is possible to skip the monitoring that is required to detect bind-sensitive queries by using the BIND_AWARE hint. In the following example, the presence of the hint tells the optimizer that we believe the query is bind-sensitive, so it should use bind-aware cursor sharing from the first execution.

    SELECT /*+ BIND_AWARE */ MAX(id) FROM acs_test_tab WHERE record_type = :l_record_type;

    The hint will only work if the query uses bind variables in WHERE clause predicates referencing columns with histograms.

    There is also a NO_BIND_AWARE hint that tells the optimizer to ignore bind-sensitive queries, effectively hiding the query from the adaptive cursor sharing functionality.

    Bind-aware cursor sharing has a small overhead associated with it, which is why Oracle use the "adaptive" approach to identifying queries that would benefit from bind-aware cursor sharing. Adding the hint to queries that will not benefit from it is a waste.

    在进一步实验之前,创建表t1

    SQL> create table t1 as select * from t2 where 1 =2;
    
    表已创建。
    
    SQL> alter table t1 modify rtype number;
    
    表已更改。
    
    SQL> insert into t1 select * from t2;
    
    已创建 131071 行。
    
    SQL> commit;
    
    提交完成。
    
    SQL> create index i1 on t1(rtype);
    
    索引已创建。
    SQL> exec dbms_stats.gather_table_stats(user,'t1',cascade=>true,estimate_percent=>null,method_opt=>'for all columns size auto,for columns rtype size 40');
    
    PL/SQL 过程已成功完成。
    
    SQL> select table_name,column_name,endpoint_number,to_char(endpoint_value),endpoint_actual_value from user_histograms where table_name='T1';
    
    TABLE_NAME COLUMN_NAME		ENDPOINT_NUMBER TO_CHAR(ENDPOINT_VALUE) 		 ENDPOINT_ACTUAL_VALUE
    ---------- -------------------- --------------- ---------------------------------------- ------------------------------
    T1	   RTYPE			      1 1
    T1	   RTYPE			      3 2
    T1	   RTYPE			      7 3
    T1	   RTYPE			     15 4
    T1	   RTYPE			     31 5
    T1	   RTYPE			     63 6
    T1	   RTYPE			    127 7
    T1	   RTYPE			    255 8
    T1	   RTYPE			    511 9
    T1	   RTYPE			   1023 10
    T1	   RTYPE			   2047 11
    
    TABLE_NAME COLUMN_NAME		ENDPOINT_NUMBER TO_CHAR(ENDPOINT_VALUE) 		 ENDPOINT_ACTUAL_VALUE
    ---------- -------------------- --------------- ---------------------------------------- ------------------------------
    T1	   RTYPE			   4095 12
    T1	   RTYPE			   8191 13
    T1	   RTYPE			  16383 14
    T1	   RTYPE			 131071 17
    T1	   ID				      0 1
    T1	   SEL				      0 .00000762951094834821
    T1	   ID				      1 131071
    T1	   SEL				      1 .87501335164416
    
    已选择19行。
    SQL> select rtype,count(1),min(sel),max(sel) from t1 group by rtype order by 3;
    
         RTYPE   COUNT(1)	MIN(SEL)   MAX(SEL)
    ---------- ---------- ---------- ----------
    	 1	    1 7.6295E-06 7.6295E-06
    	 2	    2 .000015259 .000015259
    	 3	    4 .000030518 .000030518
    	 4	    8 .000061036 .000061036
    	 5	   16 .000122072 .000122072
    	 6	   32 .000244144 .000244144
    	 7	   64 .000488289 .000488289
    	 8	  128 .000976577 .000976577
    	 9	  256 .001953155 .001953155
    	10	  512  .00390631  .00390631
    	11	 1024 .007812619 .007812619
    
         RTYPE   COUNT(1)	MIN(SEL)   MAX(SEL)
    ---------- ---------- ---------- ----------
    	12	 2048 .015625238 .015625238
    	13	 4096 .031250477 .031250477
    	14	 8192 .062500954 .062500954
    	17     114688 .875013352 .875013352
    对bind_aware的实验过程如下:
    SQL> alter system flush shared_pool;
    
    系统已更改。
    
    SQL> var vr number;
    SQL> exec :vr := 1
    
    PL/SQL 过程已成功完成。
    
    SQL> select /*+ bind_aware */ sum(id) from t1 where rtype = :vr;
    
       SUM(ID)
    ----------
    	 1
    
    SQL> @show_sql
    
    SQL_TEXT						     EXECUTIONS I I I
    ------------------------------------------------------------ ---------- - - -
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y Y    --由于使用了bind_aware HINT 
    
    SQL> @show_sel
    
    ADDRESS 	 HASH_VALUE SQL_ID	  CHILD_NUMBER PREDICATE				  RANGE_ID LOW	      HIGH
    ---------------- ---------- ------------- ------------ ---------------------------------------- ---------- ---------- ----------
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     0 =VR						 0 0.000007   0.000008 --根据直方图计算出rtype=1的选择性
    
    SQL> exec :vr := 2
    
    PL/SQL 过程已成功完成。
    
    SQL> select /*+ bind_aware */ sum(id) from t1 where rtype = :vr;
    
       SUM(ID)
    ----------
    	 5
    
    SQL> @show_sql
    
    SQL_TEXT						     EXECUTIONS I I I
    ------------------------------------------------------------ ---------- - - -
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N  --逐步淘汰出内存
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y Y
    
    SQL> @show_sel
    
    ADDRESS 	 HASH_VALUE SQL_ID	  CHILD_NUMBER PREDICATE				  RANGE_ID LOW	      HIGH
    ---------------- ---------- ------------- ------------ ---------------------------------------- ---------- ---------- ----------
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     1 =VR						 0 0.000007   0.000017    --由于rtype=2的选择性不再0.00007~0.00008之间,所以生成新的子游标,由于新游标和旧游标的执行计划相同,所以进行合并,子游标0被设置为非共享,逐步淘汰出内存
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     0 =VR						 0 0.000007   0.000008
    
    SQL> exec :vr := 1
    
    PL/SQL 过程已成功完成。
    
    SQL> select /*+ bind_aware */ sum(id) from t1 where rtype = :vr;
    
       SUM(ID)
    ----------
    	 1
    
    SQL> @show_sql
    
    SQL_TEXT						     EXECUTIONS I I I
    ------------------------------------------------------------ ---------- - - -
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y Y   --使用新的子游标,不再使用0号子游标
    
    SQL> @sho_sel
    SP2-0310: 无法打开文件 "sho_sel.sql"
    SQL> @show_sel
    
    ADDRESS 	 HASH_VALUE SQL_ID	  CHILD_NUMBER PREDICATE				  RANGE_ID LOW	      HIGH
    ---------------- ---------- ------------- ------------ ---------------------------------------- ---------- ---------- ----------
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     1 =VR						 0 0.000007   0.000017
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     0 =VR						 0 0.000007   0.000008
    
    SQL> exec :vr := 3
    
    PL/SQL 过程已成功完成。
    
    SQL> select /*+ bind_aware */ sum(id) from t1 where rtype = :vr;
    
       SUM(ID)
    ----------
    	22
    
    SQL> @show_sql
    
    SQL_TEXT						     EXECUTIONS I I I
    ------------------------------------------------------------ ---------- - - -
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y Y
    
    SQL> @show_sel
    
    ADDRESS 	 HASH_VALUE SQL_ID	  CHILD_NUMBER PREDICATE				  RANGE_ID LOW	      HIGH
    ---------------- ---------- ------------- ------------ ---------------------------------------- ---------- ---------- ----------
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     2 =VR						 0 0.000007   0.000034
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     1 =VR						 0 0.000007   0.000017
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     0 =VR						 0 0.000007   0.000008
    
    SQL> exec :vr := 1
    
    PL/SQL 过程已成功完成。
    
    SQL> select /*+ bind_aware */ sum(id) from t1 where rtype = :vr;
    
       SUM(ID)
    ----------
    	 1
    
    SQL> @show_sql
    
    SQL_TEXT						     EXECUTIONS I I I
    ------------------------------------------------------------ ---------- - - -
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y Y
    
    SQL> exec :vr := 8
    
    PL/SQL 过程已成功完成。
    
    SQL> select /*+ bind_aware */ sum(id) from t1 where rtype = :vr;
    
       SUM(ID)
    ----------
         24512
    
    SQL> @show_sql
    
    SQL_TEXT						     EXECUTIONS I I I
    ------------------------------------------------------------ ---------- - - -
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y Y
    
    SQL> @show_sel
    
    ADDRESS 	 HASH_VALUE SQL_ID	  CHILD_NUMBER PREDICATE				  RANGE_ID LOW	      HIGH
    ---------------- ---------- ------------- ------------ ---------------------------------------- ---------- ---------- ----------
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     3 =VR						 0 0.000007   0.001074
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     2 =VR						 0 0.000007   0.000034
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     1 =VR						 0 0.000007   0.000017
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     0 =VR						 0 0.000007   0.000008
    
    SQL> exec :vr := 14
    
    PL/SQL 过程已成功完成。
    
    SQL> select /*+ bind_aware */ sum(id) from t1 where rtype = :vr;
    
       SUM(ID)
    ----------
     100659200
    
    SQL> @show_sql
    
    SQL_TEXT						     EXECUTIONS I I I
    ------------------------------------------------------------ ---------- - - -
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y Y
    
    SQL> @show_sel
    
    ADDRESS 	 HASH_VALUE SQL_ID	  CHILD_NUMBER PREDICATE				  RANGE_ID LOW	      HIGH
    ---------------- ---------- ------------- ------------ ---------------------------------------- ---------- ---------- ----------
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     4 =VR						 0 0.000007   0.068751
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     3 =VR						 0 0.000007   0.001074
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     2 =VR						 0 0.000007   0.000034
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     1 =VR						 0 0.000007   0.000017
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     0 =VR						 0 0.000007   0.000008
    
    SQL> exec :vr := 15
    
    PL/SQL 过程已成功完成。
    
    SQL> select /*+ bind_aware */ sum(id) from t1 where rtype = :vr;
    
       SUM(ID)
    ----------
    
    SQL> @show_sql
    
    SQL_TEXT						     EXECUTIONS I I I
    ------------------------------------------------------------ ---------- - - -
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y Y
    
    已选择6行。
    
    SQL> @show_sel
    
    ADDRESS 	 HASH_VALUE SQL_ID	  CHILD_NUMBER PREDICATE				  RANGE_ID LOW	      HIGH
    ---------------- ---------- ------------- ------------ ---------------------------------------- ---------- ---------- ----------
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     5 =VR						 0 0.000003   0.068751 --由于15不存在,所以选择性向下扩充
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     4 =VR						 0 0.000007   0.068751
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     3 =VR						 0 0.000007   0.001074
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     2 =VR						 0 0.000007   0.000034
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     1 =VR						 0 0.000007   0.000017
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     0 =VR						 0 0.000007   0.000008
    
    已选择6行。
    
    SQL> exec :vr := 17
    
    PL/SQL 过程已成功完成。
    
    SQL> select /*+ bind_aware */ sum(id) from t1 where rtype = :vr;
    
       SUM(ID)
    ----------
    8455659520
    
    SQL> @show_sql
    
    SQL_TEXT						     EXECUTIONS I I I
    ------------------------------------------------------------ ---------- - - -
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      2 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y N
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y Y
    select /*+ bind_aware */ sum(id) from t1 where rtype = :vr	      1 Y Y Y
    
    已选择7行。
    
    SQL> @show_sel
    
    ADDRESS 	 HASH_VALUE SQL_ID	  CHILD_NUMBER PREDICATE				  RANGE_ID LOW	      HIGH
    ---------------- ---------- ------------- ------------ ---------------------------------------- ---------- ---------- ----------
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     6 =VR						 0 0.787503   0.962503 --新的子游标的执行计划于旧子游标不同,所以均保留
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     5 =VR						 0 0.000003   0.068751
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     4 =VR						 0 0.000007   0.068751
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     3 =VR						 0 0.000007   0.001074
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     2 =VR						 0 0.000007   0.000034
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     1 =VR						 0 0.000007   0.000017
    00000000DD40C0E0 2679189014 082txyqgv2bhq	     0 =VR						 0 0.000007   0.000008
    
    已选择7行。
    
    由此可见,计算绑定变量的谓词选择性在bind_aware中扮演者重要角色
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
快速共享功能在三星手机上不起作用 – 修复快速共享功能在三星手机上不起作用 – 修复Sep 19, 2023 pm 04:25 PM

快速共享可以节省三星用户在设备间传输文件的大量时间。但是三星Galaxy用户抱怨手机上的快速共享功能面临问题。通常,是快速共享中的可见性问题导致了此问题。因此,这是您对Galaxy设备上的快速共享功能进行故障排除所需的唯一指南。修复1–更改快速共享可见性设置切换手机上的快速共享可见性设置。快速共享可能设置为错误的设置,从而导致此问题。步骤1–首先,向上滑动一次以打开应用程序抽屉。步骤2–在那里,打开“设置”.第3步–进入“设置”页面,打开“连接的设备”选项卡。第4步–打开“快速共享”功能。步骤5

如何在iPhone上保护联系人照片和海报的隐私如何在iPhone上保护联系人照片和海报的隐私Sep 18, 2023 am 10:49 AM

谁可以在iPhone上查看您的联系人照片和海报?Apple提供了一些选项,用于个性化您在致电或发消息时在某人的iPhone上的显示方式。这些选项包括拟我表情、简单文本或带有效果的自定照片作为您的联系人照片和显示图像。您可以随时自由更改这些选择,并在联系人卡片上在不同配置文件之间转换。此外,Apple还使您能够控制谁可以在iOS17上查看和访问您选择的照片或显示图像。您可以决定与保存在联系人列表中的个人共享这些内容,也可以将iPhone设置为每次与联系人交互时提示您。如果您愿意,还可以永久禁用名称

如何在iPhone iOS 17上使用NameDrop如何在iPhone iOS 17上使用NameDropSep 22, 2023 pm 11:41 PM

随着新款苹果iPhone15系列手机的推出和最新的iOS17移动操作系统的推出,为苹果设备带来了丰富的新功能,调整和增强功能。用户可能想知道如何在iPhone和iOS17上使用新的NameDrop功能。本指南将简要概述如何使用iOS17上提供的新NameDrop系统快速有效地共享您的联系信息。NameDrop是一项功能,允许iPhone用户快速与他人共享他们的联系信息。它是社交活动、商务会议或社交聚会的便捷工具,您需要与新朋友交换联系方式。但是,请务必注意,NameDrop仅适用于发送新的联系人

Win10系统更新后无法共享打印机如何解决Win10系统更新后无法共享打印机如何解决Jul 07, 2023 am 09:25 AM

Win10系统更新后无法共享打印机如何解决?很多小伙伴反应说在更新到win10系统之后,就无法共享打印机了,这种情况是怎么回事呢,无法共享打印机对一些小伙伴来说是比较麻烦的一件事,如果你不知道如何解决,小编下面整理了Win10系统更新后无法共享打印机解决方法,感兴趣的话一起往下看看吧!Win10系统更新后无法共享打印机解决方法1、首先,按下“win+r”键打开运行窗口,输入“control”命令打开控制面板界面,如图所示;2、接着,在打开的控制面板界面中,找到并打开“卸载程序”选项,再点击左侧的

Win7共享打印机出错0x0000011b极致处理Win7共享打印机出错0x0000011b极致处理Jul 09, 2023 pm 06:13 PM

近期有许多win7客户在设定打印机共享时错误并提醒“无法保存打印机设置,实际操作没法进行(不正确0x00000001)”,客户因而没法打印出,那麼碰到这个问题怎么解决呢?一起来看一下解决方案。Win7共享打印机出错0x0000011b极致处理1、电脑键盘键盘快捷键徽标键Win+R键打开运行,在弹出来的运作框中键入【services.msc】明确开启服务窗口,查验这两个服务项目是不是已运行:PrintSpooler和WindowsFirewall一般Win7易出的不正确6d9是后边的服务项目未运行

如何使用 AirDrop 邻近共享发送文件和照片:iOS 17的新功能如何使用 AirDrop 邻近共享发送文件和照片:iOS 17的新功能Sep 16, 2023 am 10:17 AM

在iOS17中,Apple使共享文件和媒体比以往任何时候都更容易,这要归功于一个很酷的新AirDrop邻近感应功能,可以为您完成大部分工作。在以前版本的iOS中,在Apple设备之间传输文件或照片涉及打开相关文件、轻点“共享”按钮、选择AirDrop,然后选择要将文件发送到的附近设备。在iOS17和iPadOS17中,此过程仍然存在于Apple设备之间的共享,但是如果您要在iPhone或iPad之间传输,则可以使用AirDrop的新邻近感应功能来减少一些典型的共享步骤。要发起传输,请选择要与他人

win7共享文件夹设置方法详解win7共享文件夹设置方法详解Jul 15, 2023 pm 10:53 PM

在同一个办公局域网内,设置共享文件夹可以更方便文件的传输和共享,提供办公效率。不过不同系统设置共享文件夹的方法会有不同,有网友不清楚win7如何设置共享文件夹。下面小编教下大家win7共享文件夹设置方法。具体步骤如下:1、首先开启guest账户,点击桌面右下角的网络,右键“属性”出现网络共享中心打开,按图操作。2、点击图中标出的位置“更改高级共享设置”出现如下界面。3、双击图中红圈内的位置,会出现一个列表,找到所示内容。4、点击“关闭密码保护共享”-“保存修改”结束。5、然后选择需要共享的磁盘分

推荐最佳的 Windows 11 鼠标光标方案推荐最佳的 Windows 11 鼠标光标方案Apr 23, 2023 am 09:52 AM

Windows11拥有看似无限量的自定义选项,从默认设置到Internet上的所有第三方应用程序。甚至有一些应用程序可以改变鼠标光标的外观。修改光标是使计算机具有独特外观的好方法。您不必在每台计算机上粘贴相同的、无聊的黑白指针。但即便如此,您也不必下载软件来更改光标的外观。如何更改光标的外观?Windows11为光标提供了少量的自定义。您可以通过进入控制面板来更改光标,并在此处选择鼠标选项。将出现一个名为“鼠标属性”的新窗口。在鼠标属性中,您可以更改配色方案、大小和设计。您的计算机自然会在其文

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具