c*****r 发帖数: 4 | 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? 东
西太多, 也很茫然, 希望能得到点指点. 多谢多谢!!!! | n****f 发帖数: 905 | 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 | w******i 发帖数: 1476 | 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
| c*****r 发帖数: 4 | 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
| n****f 发帖数: 905 | 5 谢谢您和大家分享您的面试经历.
别怕,只要给您机会,您一定回干好的.
GOOD LUCK!
题
还有些indexing
下
能
万
再
【在 c*****r 的大作中提到】 : 多谢详细回复. 刚从面试回来. 那些人还算手下留情, 没有专找难的问, 问了些基本问题 : , 如normalization, 黑板上给几个table, 要求写点复杂的SQL Query, 还有些indexing : 的概念问题. 然后很详细的问了简历中所有的关于数据库的部分. 感觉这些人很懂, 一下 : 就抓住了project的要害(后来才知道, 他们中有四个是Ph.D.), 然后问了join的优化, 能 : 说出几种, 每种怎么实现, hash join在具体例子中的实现等等. 还问了一些算法, : 如quick sort分析(不知为什么问这个). 他们的query optimization 的程序就有上百万 : 行, 让 我咋舌. 就这么多了, 面试得很累, 结果也不知道, 说到时综合讨论了通知. 再 : 次多谢指点.
|
|