首页 数据库 mysql教程 对于自适应游标共享的一点补充

对于自适应游标共享的一点补充

Jun 07, 2016 pm 03:23 PM
共享 关于 游标

关于自适应游标共享请参加: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

热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 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

wallpaperengine如何共享给好友 wallpaperengine如何共享给好友 Mar 18, 2024 pm 10:00 PM

用户在使用wallpaperengine时可以将获得的壁纸共享给好友,有很多用户不知道wallpaperengine如何共享给好友,可以将自己喜欢的壁纸保存到本地之后再通过社交软件的方式分享给朋友。wallpaperengine如何共享给好友答:保存到本地之后分享给朋友。1、建议大家可以将自己喜欢的壁纸保存到本地之后再通过社交软件的方式分享给朋友。2、也可以通过文件夹的方式上传到电脑端,然后在电脑端用创意工坊的功能点击分享。3、在电脑端使用Wallpaperengine,打开创意工坊的选项栏找到

企业微信如何共享屏幕 企业微信如何共享屏幕 Feb 28, 2024 pm 12:43 PM

越来越多的企业选择使用专属的企业微信,这不仅便于企业与客户、合作伙伴之间的沟通和交流,还极大地提高了工作效率。企业微信功能丰富,其中,共享屏幕功能备受欢迎。在会议过程中,通过共享屏幕,与会者可以更加直观地展示内容,从而更加高效地协作。那么究竟该如何在企业微信中高效的共享自己的屏幕呢,还不了解的用户们,这篇教程攻略就将为大家带来详细的内容介绍,希望能帮助到大家!企业微信怎么共享屏幕?1、在企业微信主界面的左侧蓝色区域内可以看到有一列功能,我们找到“会议”这个图标,点击进入之后,就会出现三种会议模式

快速共享功能在三星手机上不起作用 – 修复 快速共享功能在三星手机上不起作用 – 修复 Sep 19, 2023 pm 04:25 PM

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

Windows 11 文件夹共享指南:轻松分享你的文件和资料 Windows 11 文件夹共享指南:轻松分享你的文件和资料 Mar 13, 2024 am 11:49 AM

在日常生活和工作中,我们经常需要在不同设备之间共享文件和文件夹。Windows11系统提供了方便的内建文件夹共享功能,让我们可以轻松地在同一网络内安全地与他人分享所需内容,同时保护个人文件的隐私。这项功能使文件共享变得简单而高效,不必担心泄露私人信息。通过Windows11系统的文件夹共享功能,我们可以更加便捷地进行合作、交流和协作,提高工作效率和生活便利性。为了顺利配置共享文件夹,我们首先需要满足以下条件:所有(参与共享的)设备都连接到同一个网络。启用「网络发现」并配置好共享。知道目标设备中的

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

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

共享打印机无法连接到打印机 共享打印机无法连接到打印机 Feb 22, 2024 pm 01:09 PM

随着数字化时代的发展,共享打印机成为现代办公环境中不可或缺的一部分。然而,有时我们可能会遇到共享打印机无法连接到打印机的问题,这不仅会影响工作效率,还会带来一系列麻烦。本文旨在探讨共享打印机无法连接到打印机的原因和解决方法。共享打印机无法连接到打印机的原因有很多,其中最常见的原因是网络问题。如果共享打印机与打印机之间的网络连接不稳定或中断,那么就无法进行正常

如何在iPhone iOS 17上使用NameDrop 如何在iPhone iOS 17上使用NameDrop Sep 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、接着,在打开的控制面板界面中,找到并打开“卸载程序”选项,再点击左侧的

See all articles