Redian新闻
>
[转载] 求教数据库的query optimization 工作的面试
avatar
[转载] 求教数据库的query optimization 工作的面试# Database - 数据库
c*r
1
【 以下文字转载自 JobHunting 讨论区,原文如下 】
发信人: Carrier (Enterprise), 信区: JobHunting
标 题: 求教数据库的query optimization 工作的面试
发信站: Unknown Space - 未名空间 (Wed Jun 9 22:13:13 2004) WWW-POST
各位数据库高手, 能不能指点一下会问什么? 有六个人面试, 每人半小时.
他们都精通Query optimization, 工作是数据库地层的query 的优化(不是DBA, 或数据库
应用). 我这方面经验也不多. 他们大致会问什么呢? 数据库基本知识? indexing, b
tree? C coding? Data Structure? Algorithm? Different Query algorithms? SQL? 东
西太多, 也很茫然, 希望能得到点指点. 多谢多谢!!!!
avatar
n*f
2
希望能抛砖引玉:
如果是 ORACLE,对于语言来讲的话:
第一, 复习一下 HINT, HINT 的种类和使用方法.
如: /* + FIRST_ROWS */, /* + ALL_ROWS */, /* + CHOOSE */ 等.
第二, 复习一下对与大小不同的 TABLES, 什么排练顺序是最快的.
A has 10000000000 rows
B has 1000 rows
SELECT A.*, B.*
FROM A, B
WHERE A.ID = B.ID
OR
SELECT A.*, B.*
FROM B, A
WHERE B.ID = A.ID
==> Which One should be the driving TABLE ?
第三, 如何建立 INDEX 和组合 INDEX.
在什么时候 QUERY 将进行到 FULL SCAN 而不使用 INDEX?
(注意: 在使用FUNTION 比较时, 象:
SELECT .....
FROM ......
WHERE
UPPER(A) = UPPER(B)
时, A OR B 将进行 FULL TABLE SCA
avatar
w*i
3
Thanks! It should be recorded into "Jinghua" area

【在 n****f 的大作中提到】
: 希望能抛砖引玉:
: 如果是 ORACLE,对于语言来讲的话:
: 第一, 复习一下 HINT, HINT 的种类和使用方法.
: 如: /* + FIRST_ROWS */, /* + ALL_ROWS */, /* + CHOOSE */ 等.
: 第二, 复习一下对与大小不同的 TABLES, 什么排练顺序是最快的.
: A has 10000000000 rows
: B has 1000 rows
: SELECT A.*, B.*
: FROM A, B
: WHERE A.ID = B.ID

avatar
c*r
4
多谢详细回复. 刚从面试回来. 那些人还算手下留情, 没有专找难的问, 问了些基本问题
, 如normalization, 黑板上给几个table, 要求写点复杂的SQL Query, 还有些indexing
的概念问题. 然后很详细的问了简历中所有的关于数据库的部分. 感觉这些人很懂, 一下
就抓住了project的要害(后来才知道, 他们中有四个是Ph.D.), 然后问了join的优化, 能
说出几种, 每种怎么实现, hash join在具体例子中的实现等等. 还问了一些算法,
如quick sort分析(不知为什么问这个). 他们的query optimization 的程序就有上百万
行, 让 我咋舌. 就这么多了, 面试得很累, 结果也不知道, 说到时综合讨论了通知. 再
次多谢指点.

【在 n****f 的大作中提到】
: 希望能抛砖引玉:
: 如果是 ORACLE,对于语言来讲的话:
: 第一, 复习一下 HINT, HINT 的种类和使用方法.
: 如: /* + FIRST_ROWS */, /* + ALL_ROWS */, /* + CHOOSE */ 等.
: 第二, 复习一下对与大小不同的 TABLES, 什么排练顺序是最快的.
: A has 10000000000 rows
: B has 1000 rows
: SELECT A.*, B.*
: FROM A, B
: WHERE A.ID = B.ID

avatar
n*f
5
谢谢您和大家分享您的面试经历.
别怕,只要给您机会,您一定回干好的.
GOOD LUCK!


还有些indexing





【在 c*****r 的大作中提到】
: 多谢详细回复. 刚从面试回来. 那些人还算手下留情, 没有专找难的问, 问了些基本问题
: , 如normalization, 黑板上给几个table, 要求写点复杂的SQL Query, 还有些indexing
: 的概念问题. 然后很详细的问了简历中所有的关于数据库的部分. 感觉这些人很懂, 一下
: 就抓住了project的要害(后来才知道, 他们中有四个是Ph.D.), 然后问了join的优化, 能
: 说出几种, 每种怎么实现, hash join在具体例子中的实现等等. 还问了一些算法,
: 如quick sort分析(不知为什么问这个). 他们的query optimization 的程序就有上百万
: 行, 让 我咋舌. 就这么多了, 面试得很累, 结果也不知道, 说到时综合讨论了通知. 再
: 次多谢指点.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。