搜索
首页数据库mysql教程绑定变量窥视是否开启和直方图关系

如果有直方图信息,而且绑定变量窥视也开启了,这里我们很好理解,在oracle 9i和oracle 10g时,sql第一次执行会将绑定变量的值带入到sql中,然后根据直方图等统计信息来评估合理的执行计划,在同样的sql下次执行时,会直接使用之前的执行计划,这个也就是我

如果有直方图信息,而且绑定变量窥视也开启了,这里我们很好理解,在oracle 9i和oracle 10g时,sql第一次执行会将绑定变量的值带入到sql中,然后根据直方图等统计信息来评估合理的执行计划,在同样的sql下次执行时,会直接使用之前的执行计划,这个也就是我们经常所接触的绑定变量窥视。

1) 开启了绑定变量窥视,收集该列的直方图:
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for 64-bit Windows: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

SQL> alter system set "_optim_peek_user_binds"=true;

System altered.

SQL> create table t002 as select * from dba_objects;

Table created.

SQL> update t002 set object_id=100 where rownum
49999 rows updated.

SQL> commit;

Commit complete.

SQL> execute dbms_stats.gather_table_stats(ownname=>'XIAOYU',tabname=>'T002',met
hod_opt=>'for all columns size 254');

PL/SQL procedure successfully completed.

SQL> select num_rows,blocks from user_tables where table_name='T002';

  NUM_ROWS     BLOCKS
---------- ----------
     50328        712

SQL> select num_distinct,density,num_nulls from user_tab_columns where table_nam
e='T002' and column_name='OBJECT_ID';

NUM_DISTINCT    DENSITY  NUM_NULLS
------------ ---------- ----------
          29 9.8243E-06          0

SQL> variable x number;
SQL> exec : x:=100;

PL/SQL procedure successfully completed.

SQL> select count(*) from t002 where object_id=:x;

  COUNT(*)
----------
     49999
SQL> select * from table(dbms_xplan.display_cursor(null,null,'all'));

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
------------------------------------------------------------
SQL_ID  4yqsqnawx85ty, child number 0
-------------------------------------
select count(*) from t002 where object_id=:x

Plan hash value: 3014849763

---------------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |      |       |       |   158 (100)|          |
|   1 |  SORT AGGREGATE    |      |     1 |     4 |            |          |
|*  2 |   TABLE ACCESS FULL| T002 | 50065 |   195K|   158   (1)| 00:00:02 |
---------------------------------------------------------------------------

Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------

   1 - SEL$1
   2 - SEL$1 / T002@SEL$1

Predicate Information (identified by operation id):
---------------------------------------------------
   2 - filter("OBJECT_ID"=:X)

Column Projection Information (identified by operation id):
-----------------------------------------------------------

   1 - (#keys=0) COUNT(*)[22]

30 rows selected.

SQL> exec : x:=1;

PL/SQL procedure successfully completed.

SQL> select count(*) from t002 where object_id=:x;

  COUNT(*)
----------
         0

SQL> select * from table(dbms_xplan.display_cursor(null,null,'all'));

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
-------------------------------------------------- ----------
SQL_ID 4yqsqnawx85ty,子编号 0
--------------------------------------------------
从 t002 中选择 count(*),其中 object_id=:x

计划哈希值:3014849763

-------------------------------------------------- --------------------------
|身份证号|操作 |        |名称 |行 |字节 |成本(%CPU)|时间     |
-------------------------------------------------- --------------------------
|   0 |选择语句      |       |       |   158(100)|          |
|   1 |  对聚合进行排序 |      |     1 |     4 |            |          |
|*  2 |   表访问已满| T002 | 50065|   195K|   158(1)| 00:00:02 |
-------------------------------------------------- --------------------------

查询块名称/对象别名(通过操作id标识):
-------------------------------------------------- -----------

   1 - SEL$1
   2 - SEL$1 / T002@SEL$1

谓词信息(通过操作id标识):
-------------------------------------------------- -
   2 - 过滤器(“OBJECT_ID”=:X)

列投影信息(通过操作id识别):
-------------------------------------------------- ---------

   1 - (#keys=0) COUNT(*)[22]

已选择 30 行。

这里比较好理解,由于开启了绑定指针窥视,该列还有直方图信息,所以第一次执行时要取具体值带,然后根据具体值的直方图信息来评估行,这里的通过谓词过滤后提示返回的行是50065,关于有直方图的情况下提示行的方式,非常复杂,小鱼自己也没有过多的深究,后面有机会整理相应的文章来分享。

2)如果开启了绑定手表,但没有收集直方图:
SQL>更改系统设置“_optim_peek_user_binds”=true;

系统已更改。

SQL>执行 dbms_stats.gather_table_stats(ownname=>'XIAOYU',tabname=>'T002',met
hod_opt=>'对于所有列大小为 1');

PL/SQL 过程成功完成。

SQL>变量y号;
SQL>exec : y:=100

PL/SQL 过程成功完成

SQL>从 t002 中选择 count(*),其中 object_id=:y;

  计数(*)
----------
     49999

SQL>从表中选择 *(dbms_xplan.display_cursor(null,null,'all'));

PLAN_TABLE_OUTPUT
-------------------------------------------------- ------------------------

SQL_ID 86ngbvm962n14,子编号 0
--------------------------------------------------
从 t002 中选择 count(*),其中 object_id=:y

计划哈希值:3014849763

-------------------------------------------------- ------------------------
|身份证号|操作 |        |名称 |行 |字节 |成本(%CPU)|时间
-------------------------------------------------- ------------------------
|   0 |选择语句      |       |       |   158 (100)|
|   1 |  对聚合进行排序 |      |     1 |     4 |            |
|*  2 |   表访问已满| T002 |  1290 | 1290  5160 | 5160   158(1)| 00:00:02
-------------------------------------------------- ------------------------

查询块名称/对象别名(通过操作id标识):
-------------------------------------------------- -----------

   1 - SEL$1
   2 - SEL$1 / T002@SEL$1

谓词信息(通过操作id标识):
-------------------------------------------------- -

   2 - 过滤器(“OBJECT_ID”=:Y)

列投影信息(通过操作id识别):
-------------------------------------------------- ---------

   1 - (#keys=0) COUNT(*)[22]

已选择 30 行。

这里我们来算算第 1290 行是如何提示出来的

这里介绍最简单的如何计算行,选择性、密度的公式:(以下计算公式在该列没有直方图前提下)

小鱼之前介绍cbo优化器的基本知识里面提过一个选择性选择率这个概念

可选择率selectivity=释放指定谓词条件返回结果集的记录数/未施加任何谓词条件的原始结果集的记录数,可选择率越大,那么cbo估算返回的rows也越大。

那么集的势rows=selectivity*未施加任何谓词条件的原始结果集的记录数

那么这个可选择率selectivity如何计算了,在列的统计信息中num_nulls为0时,selectivity=1/num_distinct

SQL> select num_distinct,num_nulls,density,num_buckets from dba_tab_columns wher
e table_name='T002' and column_name='OBJECT_ID';

NUM_DISTINCT  NUM_NULLS    DENSITY NUM_BUCKETS
------------ ---------- ---------- -----------
          39          0 .025641026           1

SQL> select num_rows from user_tables where table_name='T002';

  NUM_ROWS
----------
     50328

SQL> select 1/39 from dual;

      1/39
----------
.025641026

SQL> select 50328*1/39 from dual;

50328*1/39
----------
1290.46154

这里我们通过统计信息发现计算而来的1290跟执行计划的rows 1290完全一致

列没有直方图,而且num_nulls为0时:
Selectivity_without_null=(1/num_distinct),也就是列的统计信息中num_nulls为0时,列的选择率是1/num_distinct,此时density也是等于1/num_distinct

列没有直方图,但是num_nulls又不为0时:
selectivity_with_null=(1/num_distinct)*(num_rows-num_nulls)/(num_rows),而density还是等于1/num_distinct

对于第一点num_nulls为0,列没有直方图,selectivity选择率和density上面已经进行了验证,下面稍微扩展点,来验证下num_nulls不为0,没有直方图时,可选择率selectivity、rows和density关系

SQL> update t002 set object_id=null where rownum SQL> commit;
SQL> execute dbms_stats.gather_table_stats(ownname=>'XIAOYU',tabname=>'T002',method_opt=>'for all columns size 1');

SQL> select NUM_ROWS, --表中的记录数
  2  BLOCKS, --表中数据所占的数据块数
  3  EMPTY_BLOCKS, --表中的空块数
  4  AVG_SPACE, --数据块中平均的使用空间
  5  CHAIN_CNT, --表中行连接和行迁移的数量
  6  AVG_ROW_LEN --每条记录的平均长度
  7  from dba_tables
  8  where owner=&owner and table_name=&tabname;
Enter value for owner: 'XIAOYU'
Enter value for tabname: 'T002'
old   8: where owner=&owner and table_name=&tabname
new   8: where owner='XIAOYU' and table_name='T002'

  NUM_ROWS     BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT AVG_ROW_LEN
---------- ---------- ------------ ---------- ---------- -----------
     50328        712            0          0          0          91

SQL> SELECT column_name,
  2         num_distinct,
  3         num_nulls,
  4         density,
  5         num_buckets,
  6         low_value,
  7         high_value
  8    FROM dba_tab_col_statistics
  9   WHERE     owner = &owner
 10         AND table_name = &tabname
 11         AND column_name IN (&col1);
Enter value for owner: 'XIAOYU'
old   9:  WHERE     owner = &owner
new   9:  WHERE     owner = 'XIAOYU'
Enter value for tabname: 'T002'
old  10:        AND table_name = &tabname
new  10:        AND table_name = 'T002'
Enter value for col1: 'OBJECT_ID'
old  11:        AND column_name IN (&col1)
new  11:        AND column_name IN ('OBJECT_ID')

COLUMN_NAME              NUM_DISTINCT  NUM_NULLS    DENSITY    NUM_BUCKETS LOW_VALUE                      HIGH_VALUE
------------------------------ ------------ ---------- ---------- ----------- --
---------------------------- ------------------------------
OBJECT_ID                         44           943            .022727273         1 C2
02                           C3064A3F

SQL>从 t002 中选择 count(*),其中 object_Id=100;

  计数(*)
----------
     49000

SQL>从表中选择 *(dbms_xplan.display_cursor(null,null));

PLAN_TABLE_OUTPUT
-------------------------------------------------- ------------------------------------------
-------------------------------------------------- ------------------------------------------
-------------------------------------------------- ------------------------------------------
-------------------------------------------------- ----------
SQL_ID 3yaw02xfsf7c8,子编号 0
--------------------------------------------------
从 t002 中选择 count(*),其中 object_Id=100

计划哈希值:3014849763

-------------------------------------------------- --------------------------
|身份证号|操作 |        |名称 |行 |字节 |成本(%CPU)|时间     |
-------------------------------------------------- --------------------------
|   0 |选择语句      |       |       |   158(100)|          |
|   1 |  对聚合进行排序 |      |     1 |     3 |            |          |
|*  2 |   表访问已满| T002 |  1122 | 1122  3366|   158(1)| 00:00:02 |
-------------------------------------------------- --------------------------

谓词信息(通过操作id标识):
-------------------------------------------------- -

   2 - 过滤器(“OBJECT_ID”=100)


已选择 19 行。

来算算选择率selectivity_with_null=(1/num_distinct)*(num_rows-num_nulls)/(num_rows)
 
SQL>从对偶中选择(50328-943)/50328*1/44;

(50328-943)/50328*1/44
----------------------
             .02230143

算算密度=1/num_distinct也和dba_tab_columns中值一样

SQL>从对偶中选择 1/44;

      1/44
----------
.022727273

根据选择率selectivity_with_null跟执行的股票的行同样符合计划的,这个地方要注意rows是严格根据num_rows*选择性的,而不是num_rows*密度,在因为没直方图时密度计算方式始终是1/num_distinct

SQL>从对偶中选择 0.02230143* 50328;

0.02230143*50328
----------------
      1122.38637

我们发觉上面的注意力点计算选择性的方式可以直接简化为:
(1/num_distinct)*(num_rows-num_nulls)/num_rows,如果num_null为0,此时(1/num_distinct)*(num_rows-num_nulls)/num_rows就直接等于1/num_distinct

3)关闭绑定手表,也不收集直方图:
SQL>创建表 t003 作为 select * from dba_objects;

表已创建。

SQL>更改系统设置“_optim_peek_user_binds”= false;

系统已更改。

SQL>更新 t003 set object_id=10000 where object_id
已更新 48524 行。

SQL>提交;

提交完成。

SQL>执行 dbms_stats.gather_table_stats(ownname=>'SYS',tabname=>'T003',method
_opt=>'对于所有列大小为 1');

PL/SQL 过程成功完成。

SQL>从 user_tables 中选择 num_rows where table_name='T003';

  NUM_ROWS
----------
     50325

SQL>从 user_tab_columns 中选择 num_distinct、密度、num_nulls,其中 table_nam
e='T003' 和 column_name='OBJECT_ID';

NUM_DISTINCT    密度  NUM_NULLS
------------ ---------- ----------
         184 .005434783          0

SQL>可变数字;
SQL>执行:a:=10000;

PL/SQL 过程成功完成。

SQL>从 t003 中选择 count(object_name),其中 object_id=:a;

COUNT(OBJECT_NAME)
------------------
             48524

SQL>从表中选择 *(dbms_xplan.display_cursor(null,null,'all'));

PLAN_TABLE_OUTPUT
-------------------------------------------------- ------------------------------------------
-------------------------------------------------- ----------
SQL_ID dq92pjhyfrg1n,子编号 0
--------------------------------------------------
从 t003 中选择 count(object_name),其中 object_id=:a

计划哈希值:3872854764

-------------------------------------------------- --------------------------
|身份证号|操作 |        |名称 |行 |字节 |成本(%CPU)|时间     |
-------------------------------------------------- --------------------------
|   0 |选择语句      |       |       |   154(100)|          |
|   1 |  对聚合进行排序 |      |     1 |    29 | 29            |          |
|*  2 |   表访问已满| T003 |   274 | 274  7946 |   154(1)| 00:00:02 |
-------------------------------------------------- --------------------------

查询块名称/对象别名(通过操作id标识):
-------------------------------------------------- -----------

   1 - SEL$1
   2 - SEL$1 / T003@SEL$1

谓词信息(通过操作id标识):
-------------------------------------------------- -
   2 - 过滤器(“OBJECT_ID”=:A)

列投影信息(通过操作id识别):
-------------------------------------------------- ---------

   1 - (#keys=0) COUNT("OBJECT_NAME")[22]
   2 - “OBJECT_NAME”[VARCHAR2,128]

已选择 31 行。

SQL>执行:a:=10;

PL/SQL 过程成功完成。

SQL>从 t003 中选择 count(object_name),其中 object_id=:a;

COUNT(OBJECT_NAME)
------------------
                 0

SQL>从表中选择 *(dbms_xplan.display_cursor(null,null,'all'));

PLAN_TABLE_OUTPUT
-------------------------------------------------- ------------------------------------------
-------------------------------------------------- ----------
SQL_ID dq92pjhyfrg1n,子编号 0
--------------------------------------------------
从 t003 中选择 count(object_name),其中 object_id=:a

计划哈希值:3872854764

-------------------------------------------------- --------------------------
|身份证号|操作 |        |名称 |行 |字节 |成本(%CPU)|时间     |
-------------------------------------------------- --------------------------
|   0 |选择语句      |       |       |   154(100)|          |
|   1 |  对聚合进行排序 |      |     1 |    29 | 29            |          |
|*  2 |   表访问已满| T003 |   274 | 274  7946 |   154(1)| 00:00:02 |
-------------------------------------------------- --------------------------

查询块名称/对象别名(通过操作id标识):
-------------------------------------------------- -----------

   1 - SEL$1
   2 - SEL$1 / T003@SEL$1

谓词信息(通过操作id标识):
-------------------------------------------------- -
   2 - 过滤器(“OBJECT_ID”=:A)

列投影信息(通过操作id识别):
-------------------------------------------------- ---------

   1 - (#keys=0) COUNT("OBJECT_NAME")[22]
   2 - “OBJECT_NAME”[VARCHAR2,128]

已选择 31 行。

关闭绑定变量,没有直方图时:
选择率selectivity=1/num_distinct*(num_rows-num_nulls)/num_rows

SQL>从对偶中选择 50325*1/184;

50325*1/184
-----------
 273.505435

SQL>从对偶中选择 50325*0.005434783;

50325*0.005434783
-----------------
       273.505454

特别注意点:
而且我们查看v$sql时发现,关闭绑定变量窥视并不是不共享sql,而是说sql第一次执行时不带入具体值,这个如果大家没有测试过可能会想当然的以为是关闭绑定变量窥视是不共享绑定的sql语句,其实绑定变量窥视真正含义是sql第一次执行时带入绑定具体值,而如果关闭了绑定变量窥视,则不会带入具体值,那么由于不带入具体值,直方图也不会影响selectivity计算
 
SQL> select child_number,sql_id,sql_text from v$sql where sql_text like 'select
count(object_name) from t003 where object_id=:a%';

CHILD_NUMBER SQL_ID
------------ -------------
SQL_TEXT
--------------------------------------------------------------------------------
------------------------------------------------------------
           0 dq92pjhyfrg1n
select count(object_name) from t003 where object_id=:a

4)关闭绑定变量窥视,收集直方图:
SQL> alter system set "_optim_peek_user_binds"=false;

System altered.

SQL> execute dbms_stats.gather_table_stats(ownname=>'SYS',tabname=>'T003',method
_opt=>'for all columns size 254');

PL/SQL procedure successfully completed.

SQL> select num_rows from user_tables where table_name='T003';

  NUM_ROWS
----------
     50325

SQL> select num_distinct,density,num_nulls from user_tab_columns where table_nam
e='T003' and column_name='OBJECT_ID';

NUM_DISTINCT    DENSITY  NUM_NULLS
------------ ---------- ----------
         197 .000010034          0

SQL> variable b number;
SQL> exec : b:=10000;

PL/SQL procedure successfully completed.

SQL> select count(object_name) from t003 where object_id=:b;

COUNT(OBJECT_NAME)
------------------
             48524

SQL> select * from table(dbms_xplan.display_cursor(null,null,'all'));

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
------------------------------------------------------------
SQL_ID  9qunh3ms4kjzw, child number 0
-------------------------------------
select count(object_name) from t003 where object_id=:b

Plan hash value: 3872854764

---------------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |      |       |       |   154 (100)|          |
|   1 |  SORT AGGREGATE    |      |     1 |    29 |            |          |
|*  2 |   TABLE ACCESS FULL| T003 |   255 |  7395 |   154   (1)| 00:00:02 |
---------------------------------------------------------------------------

Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------

   1 - SEL$1
   2 - SEL$1 / T003@SEL$1

Predicate Information (identified by operation id):
---------------------------------------------------
   2 - filter("OBJECT_ID"=:B)

Column Projection Information (identified by operation id):
-----------------------------------------------------------

   1 - (#keys=0) COUNT("OBJECT_NAME")[22]
   2 - "OBJECT_NAME"[VARCHAR2,128]

31 rows selected.

SQL> exec : b:=10;

PL/SQL procedure successfully completed.

SQL> select count(object_name) from t003 where object_id=:b;

COUNT(OBJECT_NAME)
------------------
                 0

SQL> select * from table(dbms_xplan.display_cursor(null,null,'all'));

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
------------------------------------------------------------
SQL_ID  9qunh3ms4kjzw, child number 0
-------------------------------------
select count(object_name) from t003 where object_id=:b

计划哈希值:3872854764

-------------------------------------------------- --------------------------
|身份证号|操作 |        |名称 |行 |字节 |成本(%CPU)|时间     |
-------------------------------------------------- --------------------------
|   0 |选择语句      |       |       |   154(100)|          |
|   1 |  对聚合进行排序 |      |     1 |    29 | 29            |          |
|*  2 |   表访问已满| T003 |   255 | 255  7395 |   154(1)| 00:00:02 |
-------------------------------------------------- --------------------------

查询块名称/对象别名(通过操作id标识):
-------------------------------------------------- -----------

   1 - SEL$1
   2 - SEL$1 / T003@SEL$1

谓词信息(通过操作id标识):
-------------------------------------------------- -

   2 - 过滤器(“OBJECT_ID”=:B)

列投影信息(通过操作id识别):
-------------------------------------------------- ---------

   1 - (#keys=0) COUNT("OBJECT_NAME")[22]
   2 - “OBJECT_NAME”[VARCHAR2,128]

已选择 31 行。

如果有直方图,但是关闭绑定变量窥视,由于无法把绑定变量的值带入sql语句中,此时选择性计算方式还是1/num_distinct*(num_rows-num_nulls)/num_rows
SQL>从对偶中选择 50325*1/197;

50325*1/197
-----------
 255.456853

在关闭绑定变量查询后,sql语句还是会软解析,只是绑定变量的sql语句执行时第一次无法带入到sql语句中,选择性计算无法应用到直方图信息,所以此时无直方图中对于此类绑定变量的sql语句没有影响。

关于有直方图时,字段的选择、密度等如何计算,小鱼后续会整理文档来分享。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
两个微信可以绑定同一张银行卡吗两个微信可以绑定同一张银行卡吗Aug 25, 2023 pm 03:13 PM

两个微信不可以绑定同一张银行卡。绑定银行卡到微信账户操作:1、打开微信应用程序,点击“我”选项,然后选择“支付”选项;2、选择“添加银行卡”选项,并按照系统提示输入银行卡信息;3、一旦银行卡绑定成功,用户就可以在微信中使用该银行卡进行支付和转账。

如何在Vue中实现可编辑的表格如何在Vue中实现可编辑的表格Nov 08, 2023 pm 12:51 PM

在许多Web应用程序中,表格是必不可少的一个组件。表格通常具有大量数据,因此表格需要一些特定的功能来提高用户体验。其中一个重要的功能是可编辑性。在本文中,我们将探讨如何使用Vue.js实现可编辑的表格,并提供具体的代码示例。步骤1:准备数据首先,我们需要为表格准备数据。我们可以使用JSON对象来存储表格的数据,并将其存储在Vue实例的data属性中。在本例中

BTCC教学:如何在BTCC交易所绑定使用MetaMask钱包?BTCC教学:如何在BTCC交易所绑定使用MetaMask钱包?Apr 26, 2024 am 09:40 AM

MetaMask(中文也叫小狐狸钱包)是一款免费的、广受好评的加密钱包软件。目前,BTCC已支持绑定MetaMask钱包,绑定后可使用MetaMask钱包进行快速登入,储值、买币等,且首次绑定还可获得20USDT体验金。在BTCCMetaMask钱包教学中,我们将详细介绍如何注册和使用MetaMask,以及如何在BTCC绑定并使用小狐狸钱包。MetaMask钱包是什么?MetaMask小狐狸钱包拥有超过3,000万用户,是当今最受欢迎的加密货币钱包之一。它可免费​​使用,可作为扩充功能安装在网络

小红书怎么绑定子账号?它怎么检测账号是否正常?小红书怎么绑定子账号?它怎么检测账号是否正常?Mar 21, 2024 pm 10:11 PM

在如今这个信息爆炸的时代,个人品牌和企业形象的建设变得越来越重要。小红书作为国内领先的时尚生活分享平台,吸引了大量用户关注和参与。对于那些希望扩大影响力、提高内容传播效率的用户来说,绑定子账号成为了一种有效的手段。那么,小红书怎么绑定子账号呢?又如何检测账号是否正常呢?本文将为您详细解答这些问题。一、小红书怎么绑定子账号?1.登录主账号:首先,您需要登录您的小红书主账号。2.打开设置菜单:点击右上角的“我”,然后选择“设置”。3.进入账号管理:在设置菜单中,找到“账号管理”或“账号助手”选项,点

今日头条中绑定抖音的步骤方法今日头条中绑定抖音的步骤方法Mar 22, 2024 pm 05:56 PM

1、打开今日头条。2、点击右下角我的。3、点击【系统设置】。4、点击【账号和隐私设置】。5、点击【抖音】右边的按钮即可绑定抖音。

菜鸟app怎么绑定拼多多 菜鸟裹裹怎么添加拼多多平台菜鸟app怎么绑定拼多多 菜鸟裹裹怎么添加拼多多平台Mar 19, 2024 pm 02:30 PM

  菜鸟app就是能够为你们提供出各种物流信息状况的平台,这里的功能非常的强大好用,大家有任何与物流相关的问题,都能在这得到解决的,反正都能为你们带来一站式的服务,全都能及时解决的,查快递,取快递,寄快递等,都是毫无任何问题,与各个的平台都进行了合作,全部的信息,都能查询得到的,但是有些时候会出现拼多多当中购买的商品,都是无法呈现出物流的信息,其实是需要大家进行手动绑定拼多多,才能实现的,具体的方法已经整理出来了在下方,大家都能来看看的。菜鸟绑定拼多多账户的方法:  1、打开菜鸟APP,在主页面

菜鸟APP怎么绑定拼多多 菜鸟APP绑定拼多多方法菜鸟APP怎么绑定拼多多 菜鸟APP绑定拼多多方法Mar 19, 2024 pm 05:16 PM

  你们知道在使用菜鸟裹裹的时候是怎么来绑定拼多多的吗?菜鸟裹裹App官方正版在这款平台上面对于一些拼多多的物流信息是没有自动同步上去的,我们需要做的就只能复制单号过来或者是查询你们的手机看看有无快递的信息。当然这些都是需要手动来完成的,如果你们也想了解更多的话,就和小编一起来看看吧。  菜鸟APP怎么绑定拼多多  1、打开菜鸟APP,在主页面点击左上角的“导包裹”。  2、在界面中,有很多购物网站,账号都可以绑定。  3、点击导入其他电商平台。  4、用户授权:点击拼多多转到界面

小黑盒无法绑定Steam怎么办小黑盒无法绑定Steam怎么办Mar 12, 2024 pm 03:10 PM

小黑盒绑定不上Steam可能是网络或软件版本问题所致。小黑盒提供包括已发售和即将发售游戏价格、电脑配置要求与评价、深度玩法解析等信息。此外,它还支持用户随时随地通过移动端查找所需信息。小黑盒无法绑定Steam怎么办1、确认网络状况请确保设备已连接至互联网。2、检查小黑盒版本请确保您使用的是最新版小黑盒软件,并尝试绑定Steam账户。3、查看Steam账户设置请登录Steam账户,查看隐私设置中是否已开启允许第三方软件绑定功能。4、联系官方客服如上述步骤仍无法解决问题,建议您联系官方客服寻求帮助。

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尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
2 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

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

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中