SlideShare a Scribd company logo
大 堂腾 讯 讲
第四十八期
研 管理部发
大 堂主 :讲 页 http://km.oa.com/class
与 互 :讲师 动 http://km.oa.com/group/class
数据库查询优化浅析数据库查询优化浅析
AlexyangAlexyang
无线产品部无线产品部
2008101320081013
提纲提纲
应用级查询优化应用级查询优化
SQLSQL 语句的解析方式语句的解析方式
索引的本质以及调优索引的本质以及调优
分析执行计划分析执行计划
提纲提纲
应用级查询优化应用级查询优化
SQLSQL 语句的解析方式语句的解析方式
索引的本质以及调优索引的本质以及调优
分析执行计划分析执行计划
一、需要性能一、需要性能 // 查询优化的原查询优化的原
因因
影响性能的因素:整个系统环境影响性能的因素:整个系统环境
软件:操作系统、中间件、应用程序、数软件:操作系统、中间件、应用程序、数
据库据库
硬件:硬件: CPUCPU 、内存、磁盘、网络、内存、磁盘、网络
上面任何一个都可能成为系统的性能瓶颈上面任何一个都可能成为系统的性能瓶颈
系统级性能优化的点系统级性能优化的点
 操作系统:虚拟内存、文件系统格式、系统参数操作系统:虚拟内存、文件系统格式、系统参数
(( LINUXLINUX ))
 中间件:日志、部署时去掉打印信息(打印信息中间件:日志、部署时去掉打印信息(打印信息
对性能影响较大对性能影响较大 )) 、工作线程数、连接池、、工作线程数、连接池、 JAVAJAVA
垃圾回收模式、垃圾回收模式、 JAVAJAVA 内存设置内存设置
 应用程序:使用连接池、合理的业务设计、尽可应用程序:使用连接池、合理的业务设计、尽可
能不要对数据库操作进行同步、能不要对数据库操作进行同步、 JAVAJAVA 程序的性程序的性
能优化(参考网络资源)能优化(参考网络资源)
 数据库:工作线程、数据库:工作线程、 I/OI/O 线程、内存配置等、索线程、内存配置等、索
引的利用、引的利用、 SQLSQL 改写、服务器代码改进改写、服务器代码改进
这里我们主要考虑以下两个点这里我们主要考虑以下两个点
应用层存在问题。应用层存在问题。
数据库层存在问题。数据库层存在问题。
合理的逻辑设计合理的逻辑设计
 以某实际应用系统为例,原来任务管理模块并发用户数只有以某实际应用系统为例,原来任务管理模块并发用户数只有 1515 个,个,
该模块用来显示所有待处理的任务,以及每个任务的里程碑个数。该模块用来显示所有待处理的任务,以及每个任务的里程碑个数。
经过检查,发现其实现如下:经过检查,发现其实现如下:
执行语句执行语句 SELECT COUNT(*) FROM TASK;SELECT COUNT(*) FROM TASK;
select task_id from task order by task_id desc;select task_id from task order by task_id desc;
对结果集中的每条记录对结果集中的每条记录
{{
SELECT * FROM TASK_STEP WHERE TASK_STEP.TASK_ID=?SELECT * FROM TASK_STEP WHERE TASK_STEP.TASK_ID=?
}}
分析:如果分析:如果 TASKTASK 表有表有 1000010000 条记录,需要向数据库发送条记录,需要向数据库发送 1000010000 个查询个查询
。。
假设通讯使用了假设通讯使用了 100ms100ms ,每个查询的执行时间是,每个查询的执行时间是 20ms20ms 。使用的时间。使用的时间
为:为:
(100ms+20ms)*10000=1200s=20min(100ms+20ms)*10000=1200s=20min
解决方案解决方案
select task_step.*select task_step.*
from task,task_stepfrom task,task_step
where task_step.task_id = task.task_idwhere task_step.task_id = task.task_id
order by task.task_id desc;order by task.task_id desc;
备注:备注:
11 )继续对)继续对 task_step.*task_step.* 处理,减少网络通讯量。处理,减少网络通讯量。
22 )默认看到自己的任务,提供连接查询其他任务)默认看到自己的任务,提供连接查询其他任务
。。
尽量使用数据库提供的功能尽量使用数据库提供的功能
 在某实际应用系统中,对于每个任务、日记等对象都有一在某实际应用系统中,对于每个任务、日记等对象都有一
个唯一的个唯一的 IDID ,该系统使用数据库的一个表的一条整型记,该系统使用数据库的一个表的一条整型记
录来维持。录来维持。
 当新建一个任务时,取用该表的当前记录值,操作完毕后当新建一个任务时,取用该表的当前记录值,操作完毕后
加加 11 。为了防止不同对象使用相同。为了防止不同对象使用相同 IDID ,使用如下方法来,使用如下方法来
保证:保证:
int temp = 0;int temp = 0;
synchronized{synchronized{
执行执行 SELECT * FROM OBJECTID;SELECT * FROM OBJECTID;
temp =temp = 结果集中的结果集中的 idid
updateupdate 结果集中的结果集中的 idid (( id+1id+1 ))
}}
insert into task values(temp,...);insert into task values(temp,...);
解决方案解决方案
create sequence myseq increment by 1;create sequence myseq increment by 1;
insert into task values(myseq.nextval,...);insert into task values(myseq.nextval,...);
二、二、 SQLSQL 语句的解析方式语句的解析方式
SQL 语句的处理过程
语法 / 词法分析
负责解析 SQL 命令和过程性语句块
过滤注释 , 解析参数
使用成熟的工具(如 YACC/LEX )生成
灵活的语法规则定义
便于语法的扩展与修改
生成统一格式的语法树
对应的语法结构
Select * from t1, t2, t3;
par_from_tv_list_st
ruct 结构
par_from_tv_list_t*
from_tv_list;
par_from_tv_t*
from_tv
par_from_tv_list_st
ruct 结构
par_from_tv_list_t*
from_tv_list;
par_from_tv_t*
from_tv
par_from_tv_list_st
ruct 结构
par_from_tv_t*
from_tv
par_from_tv_struct
结构
T1
par_from_tv_struct
结构
T2
par_from_tv_struct
结构
T3
规
则
2 规
则
1
语义分析
数据库对象名字解析
合法性检查
内部 ID 的转换
权限检查
语法树数据结构的简化与预处理
DDL 语句分解为对系统表的 DML
视图对象的替换等
代价优化器
 接受语义分析的输入
 统计信息的分析
 数据分布
 统计直方图
 代价的计算
 基于统计信息
 操作符号的选择
 基于成本的最优执行路径选择
 生成优化的执行计划
基于操作符的执行计划
物理操作符
功能简单专一 , 完成特定的数据库操作
如 : 连接 , 过滤 , 排序等
执行计划
操作符的组合 , 构成树型的执行计划
执行时 , 数据从叶子向根流动
在根汇集成结果集 , 或者得到结果状态
计划被自动缓存 , 以备重用
实例分析
select *
from A, B, C, D
where A.a = B.b
and B.b1 = C.c
and C.c1 = D.d
and A.a1 >123
三、索引的本质以及调优三、索引的本质以及调优
需要了解的概念需要了解的概念
索引索引
聚集索引、非聚集索引聚集索引、非聚集索引
唯一索引、非唯一索引唯一索引、非唯一索引
单列索引、组合索引单列索引、组合索引
Clustered table/indexClustered table/index
lustered index on a clustered tablelustered index on a clustered table
lustered index on a clustered tablelustered index on a clustered table
lustered index on a clustered tablelustered index on a clustered table
lustered index on a clustered tablelustered index on a clustered table
索引调优的索引调优的 66 个知识点个知识点
11 、将索引和数据存放到不同的文件组、将索引和数据存放到不同的文件组
22 、组合索引的使用、组合索引的使用
33 、唯一索引与非唯一索引的差异、唯一索引与非唯一索引的差异
44 、非聚集索引的作用、非聚集索引的作用
55 、是不是使用非聚集索引的查询都需要进、是不是使用非聚集索引的查询都需要进
行聚集的查询行聚集的查询
66 、创建索引的规则、创建索引的规则
执行计划执行计划
单表执行计划单表执行计划
多表执行计划多表执行计划
多表连接执行计划多表连接执行计划
11 、嵌套连接、嵌套连接
22 、、 HASHHASH 连接连接
33 、合并连接、合并连接
44 、反合并连接、反合并连接
55 、半连接、半连接
66 、反半连接、反半连接
谢谢谢谢 !!

More Related Content

Similar to 腾讯大讲堂48 数据库查询优化浅析

腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析topgeek
 
腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析areyouok
 
实验报告4:使用SQL语句进行SQL Server 2000数据库操作
实验报告4:使用SQL语句进行SQL Server 2000数据库操作实验报告4:使用SQL语句进行SQL Server 2000数据库操作
实验报告4:使用SQL语句进行SQL Server 2000数据库操作byron zhao
 
实验报告4:使用SQL语句进行SQL Server 2000数据库操作
实验报告4:使用SQL语句进行SQL Server 2000数据库操作实验报告4:使用SQL语句进行SQL Server 2000数据库操作
实验报告4:使用SQL语句进行SQL Server 2000数据库操作byron zhao
 
第9章 t sql程序设计
第9章 t sql程序设计第9章 t sql程序设计
第9章 t sql程序设计hanmo1988
 
快速了解PostgreSQL
快速了解PostgreSQL快速了解PostgreSQL
快速了解PostgreSQL
正中 周
 
Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿yiditushe
 
12, OCP - performance tuning
12, OCP - performance tuning12, OCP - performance tuning
12, OCP - performance tuning
ted-xu
 
Oracle北大青鸟完全教程
Oracle北大青鸟完全教程Oracle北大青鸟完全教程
Oracle北大青鸟完全教程yiditushe
 
Terracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering ArchitectureTerracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering ArchitectureTarget Source
 
山頂洞人日記 - 回歸到最純樸的開發
山頂洞人日記 -  回歸到最純樸的開發山頂洞人日記 -  回歸到最純樸的開發
山頂洞人日記 - 回歸到最純樸的開發
koji lin
 
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲ArBing Xie
 
构建高性能MySQL系统
构建高性能MySQL系统构建高性能MySQL系统
构建高性能MySQL系统
jackbillow
 
性能测试实践1
性能测试实践1性能测试实践1
性能测试实践1yiditushe
 
基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现yiditushe
 
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC
 
从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计
mysqlops
 
淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)
vanadies10
 
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统melity78
 

Similar to 腾讯大讲堂48 数据库查询优化浅析 (20)

腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析
 
腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析
 
实验报告4:使用SQL语句进行SQL Server 2000数据库操作
实验报告4:使用SQL语句进行SQL Server 2000数据库操作实验报告4:使用SQL语句进行SQL Server 2000数据库操作
实验报告4:使用SQL语句进行SQL Server 2000数据库操作
 
实验报告4:使用SQL语句进行SQL Server 2000数据库操作
实验报告4:使用SQL语句进行SQL Server 2000数据库操作实验报告4:使用SQL语句进行SQL Server 2000数据库操作
实验报告4:使用SQL语句进行SQL Server 2000数据库操作
 
第9章 t sql程序设计
第9章 t sql程序设计第9章 t sql程序设计
第9章 t sql程序设计
 
快速了解PostgreSQL
快速了解PostgreSQL快速了解PostgreSQL
快速了解PostgreSQL
 
Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿
 
12, OCP - performance tuning
12, OCP - performance tuning12, OCP - performance tuning
12, OCP - performance tuning
 
Oracle北大青鸟完全教程
Oracle北大青鸟完全教程Oracle北大青鸟完全教程
Oracle北大青鸟完全教程
 
Terracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering ArchitectureTerracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering Architecture
 
山頂洞人日記 - 回歸到最純樸的開發
山頂洞人日記 -  回歸到最純樸的開發山頂洞人日記 -  回歸到最純樸的開發
山頂洞人日記 - 回歸到最純樸的開發
 
000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲000 北京圣思园教育科技有限公司第一期面授培训大纲
000 北京圣思园教育科技有限公司第一期面授培训大纲
 
构建高性能MySQL系统
构建高性能MySQL系统构建高性能MySQL系统
构建高性能MySQL系统
 
性能测试实践1
性能测试实践1性能测试实践1
性能测试实践1
 
基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现基于J2 Ee 的通用Web 信息系统框架设计与实现
基于J2 Ee 的通用Web 信息系统框架设计与实现
 
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
 
从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计从运维系统的开发谈安全架构设计
从运维系统的开发谈安全架构设计
 
淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)淘宝网架构变迁和挑战(Oracle架构师日)
淘宝网架构变迁和挑战(Oracle架构师日)
 
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统
 

More from George Ang

Wrapper induction construct wrappers automatically to extract information f...
Wrapper induction   construct wrappers automatically to extract information f...Wrapper induction   construct wrappers automatically to extract information f...
Wrapper induction construct wrappers automatically to extract information f...George Ang
 
Opinion mining and summarization
Opinion mining and summarizationOpinion mining and summarization
Opinion mining and summarizationGeorge Ang
 
Huffman coding
Huffman codingHuffman coding
Huffman codingGeorge Ang
 
Do not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar textDo not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar textGeorge Ang
 
大规模数据处理的那些事儿
大规模数据处理的那些事儿大规模数据处理的那些事儿
大规模数据处理的那些事儿George Ang
 
腾讯大讲堂02 休闲游戏发展的文化趋势
腾讯大讲堂02 休闲游戏发展的文化趋势腾讯大讲堂02 休闲游戏发展的文化趋势
腾讯大讲堂02 休闲游戏发展的文化趋势George Ang
 
腾讯大讲堂03 qq邮箱成长历程
腾讯大讲堂03 qq邮箱成长历程腾讯大讲堂03 qq邮箱成长历程
腾讯大讲堂03 qq邮箱成长历程George Ang
 
腾讯大讲堂04 im qq
腾讯大讲堂04 im qq腾讯大讲堂04 im qq
腾讯大讲堂04 im qqGeorge Ang
 
腾讯大讲堂05 面向对象应对之道
腾讯大讲堂05 面向对象应对之道腾讯大讲堂05 面向对象应对之道
腾讯大讲堂05 面向对象应对之道George Ang
 
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化George Ang
 
腾讯大讲堂07 qq空间
腾讯大讲堂07 qq空间腾讯大讲堂07 qq空间
腾讯大讲堂07 qq空间George Ang
 
腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨George Ang
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站George Ang
 
腾讯大讲堂01 移动qq产品发展历程
腾讯大讲堂01 移动qq产品发展历程腾讯大讲堂01 移动qq产品发展历程
腾讯大讲堂01 移动qq产品发展历程George Ang
 
腾讯大讲堂10 customer engagement
腾讯大讲堂10 customer engagement腾讯大讲堂10 customer engagement
腾讯大讲堂10 customer engagementGeorge Ang
 
腾讯大讲堂11 拍拍ce工作经验分享
腾讯大讲堂11 拍拍ce工作经验分享腾讯大讲堂11 拍拍ce工作经验分享
腾讯大讲堂11 拍拍ce工作经验分享George Ang
 
腾讯大讲堂14 qq直播(qq live) 介绍
腾讯大讲堂14 qq直播(qq live) 介绍腾讯大讲堂14 qq直播(qq live) 介绍
腾讯大讲堂14 qq直播(qq live) 介绍George Ang
 
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍George Ang
 
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍George Ang
 
腾讯大讲堂16 产品经理工作心得分享
腾讯大讲堂16 产品经理工作心得分享腾讯大讲堂16 产品经理工作心得分享
腾讯大讲堂16 产品经理工作心得分享George Ang
 

More from George Ang (20)

Wrapper induction construct wrappers automatically to extract information f...
Wrapper induction   construct wrappers automatically to extract information f...Wrapper induction   construct wrappers automatically to extract information f...
Wrapper induction construct wrappers automatically to extract information f...
 
Opinion mining and summarization
Opinion mining and summarizationOpinion mining and summarization
Opinion mining and summarization
 
Huffman coding
Huffman codingHuffman coding
Huffman coding
 
Do not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar textDo not crawl in the dust 
different ur ls similar text
Do not crawl in the dust 
different ur ls similar text
 
大规模数据处理的那些事儿
大规模数据处理的那些事儿大规模数据处理的那些事儿
大规模数据处理的那些事儿
 
腾讯大讲堂02 休闲游戏发展的文化趋势
腾讯大讲堂02 休闲游戏发展的文化趋势腾讯大讲堂02 休闲游戏发展的文化趋势
腾讯大讲堂02 休闲游戏发展的文化趋势
 
腾讯大讲堂03 qq邮箱成长历程
腾讯大讲堂03 qq邮箱成长历程腾讯大讲堂03 qq邮箱成长历程
腾讯大讲堂03 qq邮箱成长历程
 
腾讯大讲堂04 im qq
腾讯大讲堂04 im qq腾讯大讲堂04 im qq
腾讯大讲堂04 im qq
 
腾讯大讲堂05 面向对象应对之道
腾讯大讲堂05 面向对象应对之道腾讯大讲堂05 面向对象应对之道
腾讯大讲堂05 面向对象应对之道
 
腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化腾讯大讲堂06 qq邮箱性能优化
腾讯大讲堂06 qq邮箱性能优化
 
腾讯大讲堂07 qq空间
腾讯大讲堂07 qq空间腾讯大讲堂07 qq空间
腾讯大讲堂07 qq空间
 
腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
腾讯大讲堂01 移动qq产品发展历程
腾讯大讲堂01 移动qq产品发展历程腾讯大讲堂01 移动qq产品发展历程
腾讯大讲堂01 移动qq产品发展历程
 
腾讯大讲堂10 customer engagement
腾讯大讲堂10 customer engagement腾讯大讲堂10 customer engagement
腾讯大讲堂10 customer engagement
 
腾讯大讲堂11 拍拍ce工作经验分享
腾讯大讲堂11 拍拍ce工作经验分享腾讯大讲堂11 拍拍ce工作经验分享
腾讯大讲堂11 拍拍ce工作经验分享
 
腾讯大讲堂14 qq直播(qq live) 介绍
腾讯大讲堂14 qq直播(qq live) 介绍腾讯大讲堂14 qq直播(qq live) 介绍
腾讯大讲堂14 qq直播(qq live) 介绍
 
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
 
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
腾讯大讲堂15 市场研究及数据分析理念及方法概要介绍
 
腾讯大讲堂16 产品经理工作心得分享
腾讯大讲堂16 产品经理工作心得分享腾讯大讲堂16 产品经理工作心得分享
腾讯大讲堂16 产品经理工作心得分享
 

腾讯大讲堂48 数据库查询优化浅析