热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

这条语句有什么办法优化一下?在库里有什么要注意的地方?

生产库中topsql里面出现一条语句,如下,想请教下有什么需要注意的地方,有什么好的优化方法?||||||||||||||||||||||||||||||||||||||||||||||||||
生产库中top sql里面出现一条语句,如下,想请教下有什么需要注意的地方,有什么好的优化方法?
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT RY_JBXX.RYBH, RY_JBXX.GMSFHM, RY_JBXX.XM, RY_JBXX.CYM, RY_JBXX.XB, RY_JBXX.MZ, RY_JBXX.CSRQ, RY_JBXX.GJDQ, RY_JBXX.HJQH, RY_JBXX.HJXZ, AJ_XYRXX.XYR_AJBH, AJ_XYRXX.XYR_RYBH, AJ_XYRXX.XZZ, AJ_XYRXX.XYR_WFSS, AJ_CLCS.CLCS_BH, AJ_CLCS.CLCS_AJBH, AJ_CLCS.CLCS_CSLB, AJ_CLCS.CLCS_LY, AJ_CLCS.CLCS_FLYJ, AJ_CLCS.CLCS_RYBH, AJ_CLCS.CLCS_CBR, AJ_CLCS.CLCS_CBSJ, AJ_CLCS.CLCS_CBDWYJ, AJ_CLCS.CLCS_CBDWSPJG, AJ_CLCS.CLCS_CBDW, AJ_CLCS.CLCS_ZZDLDSPSJ, AJ_CLCS.CLCS_ZZDLDSPR, AJ_CLCS.CLCS_ZZDLDSPBM, AJ_CLCS.CLCS_ZZDLDSPJG, AJ_CLCS.CLCS_ZZDLDSPYJ, AJ_CLCS.CLCS_ZZDFZSHSJ, AJ_CLCS.CLCS_ZZDFZSHR, AJ_CLCS.CLCS_ZZDFZSHBM, AJ_CLCS.CLCS_ZZDFZSHJG, AJ_CLCS.CLCS_ZZDFZSHYJ, AJ_CLCS.CLCS_FZR, AJ_CLCS.CLCS_FZRTXSJ, AJ_CLCS.CLCS_SHYJ, AJ_CLCS.CLCS_SHJG, AJ_CLCS.CLCS_SHBM, AJ_CLCS.CLCS_SHR, AJ_CLCS.CLCS_SHSJ, AJ_CLCS.CLCS_SPYJ, AJ_CLCS.CLCS_SPJG, AJ_CLCS.CLCS_SPBM, AJ_CLCS.CLCS_SPR, AJ_CLCS.CLCS_SPSJ, AJ_CLCS.CLCS_CBRYJ, AJ_CLCS.CLCS_PSJG, AJ_CLCS.CLCS_PSBM, AJ_CLCS.CLCS_PSR, AJ_CLCS.CLCS_PSSJ, AJ_CLCS.CLCS_PSYJ, AJ_CLCS.CLCS_QSSJ, AJ_CLCS.CLCS_JDQX, AJ_CLCS.CLCS_ZZSJ, AJ_CLCS.CLCS_JDSJ, AJ_CLCS.CLCS_JDJG, AJ_CLCS.CLCS_WSWH, AJ_CLCS.CLCS_BZ, AJ_CLCS.CLCS_ZZJG, AJ_CLCS.CLCS_KJFZSHYJ, AJ_CLCS.CLCS_KJFZSHJG, AJ_CLCS.CLCS_KJFZSHBM, AJ_CLCS.CLCS_KJFZSHR, AJ_CLCS.CLCS_KJFZSHSJ, AJ_CLCS.CLCS_CJSHYJ, AJ_CLCS.CLCS_CJSHJG, AJ_CLCS.CLCS_CJSHBM, AJ_CLCS.CLCS_CJSHR, AJ_CLCS.CLCS_CJSHSJ, AJ_CLCS.CLCS_JFZSHYJ, AJ_CLCS.CLCS_JFZSHJG, AJ_CLCS.CLCS_JFZSHR, AJ_CLCS.CLCS_JFZSHSJ, AJ_CLCS.CLCS_JFZSHBM, AJ_CLCS.CLCS_JSPYJ, AJ_CLCS.CLCS_JSPJG, AJ_CLCS.CLCS_JSPBM, AJ_CLCS.CLCS_JSPR, AJ_CLCS.CLCS_JSPSJ, AJ_CLCS.CLCS_SJSPYJ, AJ_CLCS.CLCS_SJSPJG, AJ_CLCS.CLCS_SJSPBM, AJ_CLCS.CLCS_SJSPR, AJ_CLCS.CLCS_SJSPSJ, AJ_CLCS.CLCS_PLCLBH, AJ_CLCS.CLCS_BZJ, AJ_CLCS.CLCS_GLQTCSBH, AJ_XYRXX.CLCS_XSSXZM from RY_JBXX, AJ_XYRXX, AJ_CLCS where RY_JBXX.RYBH=AJ_XYRXX.XYR_RYBH and AJ_XYRXX.XYR_AJBH=AJ_CLCS.CLCS_AJBH and AJ_XYRXX.XYR_RYBH=AJ_CLCS.CLCS_RYBH and(RY_JBXX.CZBS<'3')and (AJ_XYRXX.CZBS<'3')and (AJ_CLCS.CZBS<'3')

|||||||||||||||||||||||||||||||||||||||||||||||||

16 个解决方案

#1


由于调优这块我也是初步接触,个人感觉有下面的东西需要注意
||||||||||||||||||||||||||||
RY_JBXX, AJ_XYRXX, AJ_CLCS 三张表
其中要求 RY_JBXX.RYBH,AJ_XYRXX.XYR_RYBH,AJ_XYRXX.XYR_AJBH,AJ_CLCS.CLCS_AJBH ,AJ_XYRXX.XYR_RYBH,AJ_CLCS.CLCS_RYBH,RY_JBXX.CZBS,AJ_XYRXX.CZBS,AJ_CLCS.CZBS这些字段上最好有index. 看有什么办法排序一下,优化它的执行
|||||||||||||||||
请各路高手指正一下

#2


引用 1 楼 csucxcc 的回复:
由于调优这块我也是初步接触,个人感觉有下面的东西需要注意
||||||||||||||||||||||||||||
RY_JBXX, AJ_XYRXX, AJ_CLCS 三张表
其中要求 RY_JBXX.RYBH,AJ_XYRXX.XYR_RYBH,AJ_XYRXX.XYR_AJBH,AJ_CLCS.CLCS_AJBH ,AJ_XYRXX.XYR_RYBH,AJ_CLCS.CLCS_RYBH,RY_JBXX.CZBS,AJ_XYRXX.CZBS,AJ_CLCS.CZBS这些字段上最好有index. 看有什么办法排序一下,优化它的执行
|||||||||||||||||
请各路高手指正一下

这个语句不是复杂的语句,没什么调优潜力了。

#3


from RY_JBXX, AJ_XYRXX, AJ_CLCS
where 
RY_JBXX.RYBH=AJ_XYRXX.XYR_RYBH 
and AJ_XYRXX.XYR_AJBH=AJ_CLCS.CLCS_AJBH 
and AJ_XYRXX.XYR_RYBH=AJ_CLCS.CLCS_RYBH 
and(RY_JBXX.CZBS <'3')
and (AJ_XYRXX.CZBS <'3')
and (AJ_CLCS.CZBS <'3') 
优化索引

#4


看看执行计划
哪些是全表扫描的
哪些索引效率低的
优化优化

#5


这个表结构这么像我们生产库的啊?

人员基本信息 案件嫌疑人信息.....  命名规则都差不多


贴上执行计划啊

#6


SQL ordered by Elapsed Time
Resources reported for PL/SQL code includes the resources used by all SQL statements called by the code. 
% Total DB Time is the Elapsed Time of the SQL statement divided into the Total Database Time multiplied by 100 
Elapsed Time (s) CPU Time (s) Executions  Elap per Exec (s)  % Total DB Time SQL Id SQL Module SQL Text 
3,099 941 41 75.59 39.95 6486cwtpu6pgt    SELECT RY_JBXX.RYBH, RY_JBXX.G... 
191 189 740 0.26 2.46 a7aab3s4q5u6p    select AJ_CLCS.CLCS_BH, AJ_CLC... 
70 26 1 69.86 0.90 4nnpjvkpm6bn3    select * from RY_JBXX, AJ_XYRX... 
37 37 52 0.71 0.48 3rrpjrbdqcky1    select * from JCJ_JJXX, JCJ_CJ... 
18 18 23 0.77 0.23 c00fjhgp1bxrf    select * from JCJ_JJXX, JCJ_CJ... 
18 18 6 2.96 0.23 86291zpgaybgn oracle@jl123 (TNS V1-V3)  SELECT SYS_GUID(), "A1"."JJSJ"... 
17 17 38 0.44 0.22 fwj20m101kp1r    select * from RY_JBXX, AJ_XYRX... 
17 17 17 0.97 0.21 2hz586f1g440g    select * from JCJ_JJXX, JCJ_CJ... 
15 15 1 14.59 0.19 0x14kjutpwqks    select * from view_xsaj_cs wh... 
13 13 148 0.09 0.17 b7jruwb9f03z7    select * from AJ_SAWP, AJ_WP_C... 

Back to SQL Statistics 
Back to Top


SQL ordered by CPU Time
Resources reported for PL/SQL code includes the resources used by all SQL statements called by the code. 
% Total DB Time is the Elapsed Time of the SQL statement divided into the Total Database Time multiplied by 100 
CPU Time (s) Elapsed Time (s) Executions  CPU per Exec (s) % Total DB Time SQL Id SQL Module SQL Text 
941 3,099 41 22.95 39.95 6486cwtpu6pgt    SELECT RY_JBXX.RYBH, RY_JBXX.G... 
189 191 740 0.26 2.46 a7aab3s4q5u6p    select AJ_CLCS.CLCS_BH, AJ_CLC... 
37 37 52 0.71 0.48 3rrpjrbdqcky1    select * from JCJ_JJXX, JCJ_CJ... 
26 70 1 26.43 0.90 4nnpjvkpm6bn3    select * from RY_JBXX, AJ_XYRX... 
18 18 23 0.77 0.23 c00fjhgp1bxrf    select * from JCJ_JJXX, JCJ_CJ... 
18 18 6 2.96 0.23 86291zpgaybgn oracle@jl123 (TNS V1-V3)  SELECT SYS_GUID(), "A1"."JJSJ"... 
17 17 38 0.44 0.22 fwj20m101kp1r    select * from RY_JBXX, AJ_XYRX... 
17 17 17 0.97 0.21 2hz586f1g440g    select * from JCJ_JJXX, JCJ_CJ... 
15 15 1 14.57 0.19 0x14kjutpwqks    select * from view_xsaj_cs wh... 
13 13 148 0.09 0.17 b7jruwb9f03z7    select * from AJ_SAWP, AJ_WP_C... 

Back to SQL Statistics 
Back to Top


SQL ordered by Gets
Resources reported for PL/SQL code includes the resources used by all SQL statements called by the code. 
Total Buffer Gets: 336,747,017 
Captured SQL account for 19.5% of Total 
Buffer Gets  Executions  Gets per Exec  %Total CPU Time (s) Elapsed Time (s) SQL Id SQL Module SQL Text 
19,091,721 740 25,799.62 5.67 189.50 190.59 a7aab3s4q5u6p    select AJ_CLCS.CLCS_BH, AJ_CLC... 
18,968,003 41 462,634.22 5.63 940.90 3099.13 6486cwtpu6pgt    SELECT RY_JBXX.RYBH, RY_JBXX.G... 
2,802,897 2 1,401,448.50 0.83 12.56 12.56 dq7gd4va0vx0b    select * from view_xsaj_cs wh... 
2,236,283 52 43,005.44 0.66 36.69 37.18 3rrpjrbdqcky1    select * from JCJ_JJXX, JCJ_CJ... 
1,849,481 1 1,849,481.00 0.55 14.57 14.59 0x14kjutpwqks    select * from view_xsaj_cs wh... 
1,686,752 6 281,125.33 0.50 17.75 17.75 86291zpgaybgn oracle@jl123 (TNS V1-V3)  SELECT SYS_GUID(), "A1"."JJSJ"... 
1,046,201 2 523,100.50 0.31 7.23 7.24 11w8mfybg1fw0    select * from view_xsaj_cs wh... 
917,987 23 39,912.48 0.27 17.78 17.78 c00fjhgp1bxrf    select * from JCJ_JJXX, JCJ_CJ... 
908,157 17 53,421.00 0.27 16.55 16.56 2hz586f1g440g    select * from JCJ_JJXX, JCJ_CJ... 
854,929 16 53,433.06 0.25 11.74 11.74 f3anqrcatvw0m    select count(*) from JCJ_JJXX,... 

Back to SQL Statistics 
Back to Top


SQL ordered by Reads
Total Disk Reads: 11,350,910 
Captured SQL account for 93.9% of Total 
Physical Reads Executions Reads per Exec  %Total CPU Time (s) Elapsed Time (s) SQL Id SQL Module SQL Text 
10,503,291 41 256,177.83 92.53 940.90 3099.13 6486cwtpu6pgt    SELECT RY_JBXX.RYBH, RY_JBXX.G... 
146,124 1 146,124.00 1.29 26.43 69.86 4nnpjvkpm6bn3    select * from RY_JBXX, AJ_XYRX... 
4,670 10 467.00 0.04 4.97 6.21 4gnr7jzz9g4yc    select * from RY_JBXX, AJ_XYRX... 
995 1 995.00 0.01 4.11 4.31 9jtt6h27gubzt    select * from AJ_FLWS, RY_JBXX... 
21 7 3.00 0.00 2.93 3.16 9tb6cxd3ma1m5    Select * From Ry_Jbxx, Aj_Jbx... 
6 779 0.01 0.00 0.06 0.06 cvn54b7yz0s8u    select /*+ index(idl_ub1$ i_id... 
4 103 0.04 0.00 0.03 0.04 cjq3rk3pg48v6 oraclezhkdb@hnzhk (TNS V1-V3)  SELECT COUNT(*) FROM "GIAPSYS"... 
2 110 0.02 0.00 0.02 0.03 bn8dbcb4w2jxt    SELECT W.WPCSGL_MC, W.WPCSGL_S... 
2 6,992 0.00 0.00 0.54 0.54 db78fxqxwxt7r    select /*+ rule */ bucket, en... 
2 658 0.00 0.00 0.06 0.06 ga9j9xk5cy9s0    select /*+ index(idl_sb4$ i_id... 

Back to SQL Statistics 
Back to Top


SQL ordered by Executions
Total Executions: 398,903 
Captured SQL account for 25.8% of Total 
Executions  Rows Processed Rows per Exec CPU per Exec (s) Elap per Exec (s)  SQL Id SQL Module SQL Text 
10,676 8,277 0.78 0.00 0.00 96g93hntrzjtr    select /*+ rule */ bucket_cnt,... 
9,918 0 0.00 0.00 0.00 5zz90txjabju4    select * from AJ_WZMSTYCTZXX 
9,918 99,180 10.00 0.00 0.00 7zsyckhnsytv2    select * from AJ_WZMSTKYXX 
9,918 9,918 1.00 0.00 0.00 bsr48nmmr19vg    select * from AJ_WZMSTTBBJXX 
9,918 0 0.00 0.00 0.00 fmunz0ky9byrq    select * from WZ_SJZP 
6,992 117,520 16.81 0.00 0.00 db78fxqxwxt7r    select /*+ rule */ bucket, en... 
6,905 1,425 0.21 0.00 0.00 a8pk75r2qw3tj    SELECT CLCS_JDSJ FROM AJ_CLCS ... 
5,291 5,291 1.00 0.00 0.00 07dd3hhrcw3a1    SELECT CLCS_JDSJ FROM AJ_CLCS ... 
2,352 2,352 1.00 0.00 0.00 7h35uxf5uhmm1 Realtime Connection  select sysdate from dual 
1,916 1,916 1.00 0.00 0.00 2ym6hhaq30r73    select type#, blocks, extents,... 

Back to SQL Statistics 
Back to Top


SQL ordered by Parse Calls
Total Parse Calls: 174,961 
Captured SQL account for 36.3% of Total 
Parse Calls Executions  % Total Parses SQL Id SQL Module SQL Text 
9,918 9,918 5.67 5zz90txjabju4    select * from AJ_WZMSTYCTZXX 
9,918 9,918 5.67 7zsyckhnsytv2    select * from AJ_WZMSTKYXX 
9,918 9,918 5.67 bsr48nmmr19vg    select * from AJ_WZMSTTBBJXX 
9,918 9,918 5.67 fmunz0ky9byrq    select * from WZ_SJZP 
2,352 2,352 1.34 7h35uxf5uhmm1 Realtime Connection  select sysdate from dual 
1,916 1,916 1.10 2ym6hhaq30r73    select type#, blocks, extents,... 
1,568 1,568 0.90 0kyt0jc76rat9    select AJ_WZMSTXX.WZM_GLCJBH f... 
1,044 1,044 0.60 0vvyz6fkqwaz8    select sectNo from sect_sequen... 
930 930 0.53 2gs750hfwgtq6    select sectNo from sect_sequen... 
919 921 0.53 0h6b2sajwb74n    select privilege#, level from ... 

Back to SQL Statistics 
Back to Top

#7


RY_JBXX 应建立 RYBH的索引
AJ_XYRXX表应建立 XYR_RYBH,XYR_AJBH的组合索引
AJ_CLCS表应建立 CLCS_RYBH,CLCS_AJBH的组合索引
然后分别在对三个表中的CZBS建立索引(如果值的个数较少,可建立BITMAP索引)

#8


引用 7 楼 tangren 的回复:
RY_JBXX 应建立 RYBH的索引
AJ_XYRXX表应建立 XYR_RYBH,XYR_AJBH的组合索引
AJ_CLCS表应建立 CLCS_RYBH,CLCS_AJBH的组合索引
然后分别在对三个表中的CZBS建立索引(如果值的个数较少,可建立BITMAP索引)

and AJ_XYRXX.XYR_AJBH=AJ_CLCS.CLCS_AJBH 
and AJ_XYRXX.XYR_RYBH=AJ_CLCS.CLCS_RYBH 
这是两个单独的查询,为什么需要建立组合索引啊??

#9


可以针对每个字段建立单独的索引,但组合索引高效一些

#10


先看看执行计划

#11


AWR report里好像没看到详细的执行计划,晚一点我在生产库上执行一下再贴上来吧

#12


建立索引是必须的,然后局部改造sql语句如下:
from RY_JBXX, AJ_XYRXX, AJ_CLCS
where
RY_JBXX.RYBH=AJ_XYRXX.XYR_RYBH
and AJ_XYRXX.XYR_AJBH=AJ_CLCS.CLCS_AJBH
and AJ_XYRXX.XYR_RYBH=AJ_CLCS.CLCS_RYBH
and(RY_JBXX.CZBS <='2')
and (AJ_XYRXX.CZBS <='2')
and (AJ_CLCS.CZBS <='2') 

#13


除了从索引方面来考虑,没什么好办法了。或者考虑按CZBS 分区。

#14


引用 12 楼 zhangwonderful 的回复:
建立索引是必须的,然后局部改造sql语句如下:
from RY_JBXX, AJ_XYRXX, AJ_CLCS
where
RY_JBXX.RYBH=AJ_XYRXX.XYR_RYBH
and AJ_XYRXX.XYR_AJBH=AJ_CLCS.CLCS_AJBH
and AJ_XYRXX.XYR_RYBH=AJ_CLCS.CLCS_RYBH
and(RY_JBXX.CZBS <='2')
and (AJ_XYRXX.CZBS <='2')
and (AJ_CLCS.CZBS <='2')


客户一直没联系上,暂时等等,晚点结贴吧。。

<3  不如 <=2,
好像是这个意思啊。顶一下,我再查查。。

#15


在表的连接字段上建立联合索引

#16


引用 15 楼 ojuju10 的回复:
在表的连接字段上建立联合索引

学习了。。

推荐阅读
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • jvm内存区域与溢出为什么学习jvm木板原理,最短的一块板决定一个水的深度,当一个系统垃圾收集成为瓶颈的时候,那么就需要你对jvm的了解掌握。当一个系统出现内存溢出,内存泄露的时候 ... [详细]
  • 一、其实当我们在选择使用int的类型的时候,不论是int(3)还是int(11),它在数据库里面存储的都是4个字节的长度,在使用int(3)的时候如果你输入的是10,会默认给你存储 ... [详细]
  • 小程序服务器获取用户名头像,微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现...
    这个接口只能获得一些非敏感信息,例如用户昵称,用户头像,经过用户授权允许获取的情况下即可获得用户信息,至于openid这些& ... [详细]
  • 2月4日每日安全热点节日期间某企远程办公遭XRed攻击 ... [详细]
author-avatar
SIX2FOUR
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有