对于自适应游标共享的一点补充
关于自适应游标共享请参加: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是如何根据不同的变量取值来选择执行计划的?
在回答这些问题之前,先来看一下测试环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
首先我们猜测第一个问题的答案。
因为bind_sensitive是针对绑定变量的不同取值而论的,因此我们认为只有具有绑定变量的语句才可能是bind_sensitive的。
1 2 3 4 5 6 7 8 9 10 11 |
|
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 |
|
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.
1
SELECT
/*+ BIND_AWARE */
MAX(id) FROM acs_test_tab WHERE record_type = :l_record_type;
Nach dem Login kopierenThe 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);
索引已创建。
Nach dem Login kopieren1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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行。
Nach dem Login kopieren对bind_aware的实验过程如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
Nach dem Login kopieren由此可见,计算绑定变量的谓词选择性在bind_aware中扮演者重要角色1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
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行。
Nach dem Login kopieren

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Benutzer können die Hintergrundbilder, die sie erhalten, mit Freunden teilen, wenn sie WallpaperEngine verwenden. Viele Benutzer wissen nicht, wie sie WallpaperEngine mit Freunden teilen können. Sie können ihre Lieblingshintergrundbilder lokal speichern und sie dann über soziale Software mit Freunden teilen. So teilen Sie WallpaperEngine mit Freunden Antwort: Speichern Sie es lokal und teilen Sie es mit Freunden. 1. Es wird empfohlen, dass Sie Ihre Lieblingshintergründe lokal speichern und sie dann über soziale Software mit Freunden teilen. 2. Sie können es auch über einen Ordner auf den Computer hochladen und dann über die Kreativ-Workshop-Funktion auf dem Computer auf „Teilen“ klicken. 3. Verwenden Sie Wallpaperengine auf dem Computer, öffnen Sie die Optionsleiste der Kreativwerkstatt und suchen Sie

Immer mehr Unternehmen entscheiden sich für den exklusiven Unternehmens-WeChat, der nicht nur die Kommunikation zwischen Unternehmen und Kunden und Partnern erleichtert, sondern auch die Arbeitseffizienz erheblich verbessert. Enterprise WeChat verfügt über umfangreiche Funktionen, unter denen die Bildschirmfreigabefunktion sehr beliebt ist. Während des Meetings können die Teilnehmer durch die gemeinsame Nutzung des Bildschirms Inhalte intuitiver darstellen und effizienter zusammenarbeiten. Wie können Sie Ihren Bildschirm in WeChat Enterprise effizient teilen? Für Benutzer, die es noch nicht wissen, wird Ihnen dieses Tutorial hoffentlich helfen! Wie teile ich den Bildschirm auf WeChat Enterprise? 1. Im blauen Bereich auf der linken Seite der Hauptoberfläche von Enterprise WeChat sehen Sie eine Liste der Funktionen. Nach dem Klicken zum Betreten werden drei Konferenzmodi angezeigt.

Quick Share kann Samsung-Benutzern viel Zeit beim Übertragen von Dateien zwischen Geräten sparen. Nutzer von Samsung Galaxy haben sich jedoch über Probleme mit der Quick Share-Funktion auf ihren Handys beschwert. Typischerweise sind Sichtbarkeitsprobleme bei der Schnellfreigabe die Ursache für dieses Problem. Dies ist also die einzige Anleitung, die Sie zur Fehlerbehebung bei der Quick Share-Funktion auf Ihrem Galaxy-Gerät benötigen. Fix 1 – Quick Share-Sichtbarkeitseinstellungen ändern Schalten Sie die Quick Share-Sichtbarkeitseinstellung auf Ihrem Telefon um. Möglicherweise sind für Quick Share die falschen Einstellungen festgelegt, was dieses Problem verursacht. Schritt 1 – Wischen Sie zunächst einmal nach oben, um die App-Schublade zu öffnen. Schritt 2 – Öffnen Sie dort die Einstellungen. Schritt 3 – Gehen Sie zur Seite „Einstellungen“ und öffnen Sie die Registerkarte „Verbundene Geräte“. Schritt 4 – Aktivieren Sie die Funktion „Quick Share“. Schritt 5

Im täglichen Leben und bei der Arbeit müssen wir häufig Dateien und Ordner zwischen verschiedenen Geräten teilen. Das Windows 11-System bietet praktische integrierte Ordnerfreigabefunktionen, die es uns ermöglichen, die benötigten Inhalte einfach und sicher mit anderen im selben Netzwerk zu teilen und gleichzeitig die Privatsphäre persönlicher Dateien zu schützen. Diese Funktion macht die Dateifreigabe einfach und effizient, ohne dass Sie befürchten müssen, dass private Informationen verloren gehen. Durch die Ordnerfreigabefunktion des Windows 11-Systems können wir bequemer zusammenarbeiten, kommunizieren und zusammenarbeiten und so die Arbeitseffizienz und den Lebenskomfort verbessern. Um einen freigegebenen Ordner erfolgreich zu konfigurieren, müssen wir zunächst die folgenden Bedingungen erfüllen: Alle Geräte (die an der Freigabe teilnehmen) sind mit demselben Netzwerk verbunden. Aktivieren Sie die Netzwerkerkennung und konfigurieren Sie die Freigabe. Kennen Sie das Zielgerät

Mit der Einführung der neuen Mobiltelefone der Apple iPhone15-Serie und der Einführung des neuesten mobilen Betriebssystems iOS17 wurde eine Fülle neuer Funktionen, Anpassungen und Verbesserungen auf Apple-Geräte gebracht. Benutzer fragen sich möglicherweise, wie sie die neue NameDrop-Funktion auf iPhone und iOS17 verwenden können. Dieser Leitfaden bietet einen kurzen Überblick darüber, wie Sie Ihre Kontaktinformationen schnell und effizient mit dem neuen NameDrop-System teilen, das auf iOS17 verfügbar ist. NameDrop ist eine Funktion, die es iPhone-Benutzern ermöglicht, ihre Kontaktinformationen schnell mit anderen zu teilen. Es ist ein praktisches Tool für gesellschaftliche Veranstaltungen, Geschäftstreffen oder gesellschaftliche Zusammenkünfte, bei denen Sie Kontaktdaten mit neuen Freunden austauschen müssen. Es ist jedoch wichtig zu beachten, dass NameDrop nur zum Versenden neuer Kontakte funktioniert

Mit der Entwicklung des digitalen Zeitalters sind gemeinsam genutzte Drucker zu einem unverzichtbaren Bestandteil der modernen Büroumgebung geworden. Manchmal kann es jedoch vorkommen, dass der freigegebene Drucker nicht mit dem Drucker verbunden werden kann, was nicht nur die Arbeitseffizienz beeinträchtigt, sondern auch eine Reihe von Problemen verursacht. Ziel dieses Artikels ist es, die Gründe und Lösungen dafür zu untersuchen, warum ein freigegebener Drucker keine Verbindung zum Drucker herstellen kann. Es gibt viele Gründe, warum ein freigegebener Drucker keine Verbindung zum Drucker herstellen kann. Der häufigste Grund sind Netzwerkprobleme. Wenn die Netzwerkverbindung zwischen dem freigegebenen Drucker und dem Drucker instabil oder unterbrochen ist, ist ein normaler Betrieb nicht möglich.

Wer kann Ihre Kontaktfotos und Poster auf dem iPhone ansehen? Apple bietet Optionen zum Personalisieren, wie Sie auf dem iPhone einer anderen Person angezeigt werden, wenn diese anruft oder eine Nachricht sendet. Zu den Optionen gehören Memoji, einfacher Text oder ein benutzerdefiniertes Foto mit Effekten als Kontaktfoto und Anzeigebild. Sie können diese Auswahl jederzeit ändern und zwischen den Profilen auf der Kontaktkarte wechseln. Darüber hinaus gibt Ihnen Apple die Möglichkeit zu steuern, wer auf iOS17 Fotos ansehen und darauf zugreifen oder Bilder Ihrer Wahl anzeigen kann. Sie können diese mit Personen teilen, die in Ihrer Kontaktliste gespeichert sind, oder Sie können Ihr iPhone so einstellen, dass es Sie jedes Mal benachrichtigt, wenn Sie mit einem Kontakt interagieren. Wenn Sie möchten, können Sie den Namen auch dauerhaft deaktivieren

Wie lege ich in Win10 schreibgeschützte Berechtigungen für freigegebene Ordner fest? Nachdem der Host den Ordner freigegeben hat, möchten einige Benutzer nur, dass andere auf die Dateien zugreifen, sie lesen und anzeigen, aber nicht, dass andere die Dateien auf dem Host ändern. In diesem Artikel erfahren Sie, wie Sie die Berechtigungen eines freigegebenen Ordners auf schreibgeschützt und nicht änderbar festlegen. 1. Geben Sie den Ordner zunächst gemäß dem normalen Vorgang frei. Klicken Sie auf der Hostseite mit der rechten Maustaste auf den Ordner, der freigegeben werden soll, und wählen Sie: Eigenschaften-Freigabe-Erweiterte Freigabe-Prüfung Diesen Ordner freigeben 2. Klicken Sie dann auf Berechtigungsoption unten. Fügen Sie standardmäßig ein Jeder-Konto hinzu. 3. Überprüfen Sie unten nur die Leseberechtigung und klicken Sie dann auf OK. 4. Suchen Sie den Ordner „Eigenschaften – Sicherheit“ und fügen Sie ein „Ever“-Konto hinzu
