亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

范文資料網(wǎng)>人事資料>招聘與面試>《mysql數(shù)據(jù)庫(kù)面試問(wèn)題

mysql數(shù)據(jù)庫(kù)面試問(wèn)題

時(shí)間:2022-04-05 14:29:39 招聘與面試 我要投稿
  • 相關(guān)推薦

mysql數(shù)據(jù)庫(kù)面試問(wèn)題

語(yǔ)句應(yīng)該考慮哪些安全性?

mysql數(shù)據(jù)庫(kù)面試問(wèn)題

1.防止sql注入,對(duì)特殊字符進(jìn)行轉(zhuǎn)義,過(guò)濾或者使用預(yù)編譯的sql語(yǔ)句綁定變量。

2.最小權(quán)限原則,特別是不要用root賬戶,為不同的類型的動(dòng)作或者組建使用不同的賬戶。

3.當(dāng)sql運(yùn)行出錯(cuò)時(shí),不要把數(shù)據(jù)庫(kù)返回的錯(cuò)誤信息全部顯示給用戶,以防止泄漏服務(wù)器和數(shù)據(jù)庫(kù)相關(guān)信息。

2.簡(jiǎn)單描述mysql中,索引,主鍵,唯一索引,聯(lián)合索引的區(qū)別,對(duì)數(shù)據(jù)庫(kù)的性能有什么影響。

索引是一種特殊的文件(InnoDB數(shù)據(jù)表上的索引是表空間的一個(gè)組成部分),它們包含著對(duì)數(shù)據(jù)表里所有記錄的引用指針。

普通索引(由關(guān)鍵字KEY或INDEX定義的索引)的唯一任務(wù)是加快對(duì)數(shù)據(jù)的訪問(wèn)速度。

普通索引允許被索引的數(shù)據(jù)列包含重復(fù)的值,如果能確定某個(gè)數(shù)據(jù)列只包含彼此各不相同的值,在為這個(gè)數(shù)據(jù)索引創(chuàng)建索引的時(shí)候就應(yīng)該用關(guān)鍵字UNIQE把它定義為一個(gè)唯一所以,唯一索引可以保證數(shù)據(jù)記錄的唯一性。

主鍵,一種特殊的唯一索引,在一張表中只能定義一個(gè)主鍵索引,逐漸用于唯一標(biāo)識(shí)一條記錄,是用關(guān)鍵字PRIMARY KEY來(lái)創(chuàng)建。

索引可以覆蓋多個(gè)數(shù)據(jù)列,如像INDEX索引,這就是聯(lián)合索引。

索引可以極大的提高數(shù)據(jù)的查詢速度,但是會(huì)降低插入刪除更新表的速度,因?yàn)樵趫?zhí)行這些寫操作時(shí),還要操作索引文件。

3.一張表,里面有ID自增主鍵,當(dāng)insert了17條記錄之后,刪除了第15,16,17條記錄,再把Mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?

如果表的類型是MyISAM,那么是18。

因?yàn)镸yISAM表會(huì)把自增主鍵的最大ID記錄到數(shù)據(jù)文件里,重啟MySQL自增主鍵的最大ID也不會(huì)丟失。

如果表的類型是InnoDB,那么是15。

InnoDB表只是把自增主鍵的最大ID記錄到內(nèi)存中,所以重啟數(shù)據(jù)庫(kù)或者是對(duì)表進(jìn)行OPTIMIZE操作,都會(huì)導(dǎo)致最大ID丟失。

4.請(qǐng)簡(jiǎn)述項(xiàng)目中優(yōu)化sql語(yǔ)句執(zhí)行效率的方法,從哪些方面。sql語(yǔ)句性能如何分析?

1.盡量選擇較小的列

2.將where中用的比較頻繁的字段建立索引

http://emrowgh.com子句中避免使用‘*’

4.避免在索引列上使用計(jì)算,not,in和<>等操作

5.當(dāng)只需要一行數(shù)據(jù)的時(shí)候使用limit 1

6.保證表單數(shù)據(jù)不超過(guò)200w,適時(shí)分割表

針對(duì)查詢較慢的語(yǔ)句,可以使用explain來(lái)分析該語(yǔ)句具體的執(zhí)行情況

http://emrowgh.com()和mysql_fetch_array()的區(qū)別

這兩個(gè)函數(shù),返回的都是一個(gè)數(shù)組,區(qū)別就是第一個(gè)函數(shù)返回的數(shù)組是只包含值,我們只能$row[0],$row[1],這樣以數(shù)組下標(biāo)來(lái)讀取數(shù)據(jù),而mysql_fetch_array()返回的數(shù)組既包含第一種,也包含鍵值對(duì)的形式,我們可以這樣讀取數(shù)據(jù),(假如數(shù)據(jù)庫(kù)的字段是 username,passwd):$row['username'], $row['passwd']。

常見(jiàn)mysql數(shù)據(jù)庫(kù)面試問(wèn)題2015-04-28 18:32 | #2樓

1,mysql的復(fù)制原理以及流程。

(1)先問(wèn)基本原理流程,3個(gè)線程以及之間的關(guān)聯(lián)。

(2)再問(wèn)一致性延時(shí)性,數(shù)據(jù)恢復(fù)。

(3)再問(wèn)各種工作遇到的復(fù)制bug的解決方法

2,mysql中myisam與innodb的區(qū)別,至少5點(diǎn)。

(1) 問(wèn)5點(diǎn)不同

(2) 問(wèn)各種不同mysql版本的2者的改進(jìn)

(3)2者的索引的實(shí)現(xiàn)方式

3,問(wèn)mysql中varchar與char的區(qū)別以及varchar(50)中的30代表的涵義。

(1)varchar與char的區(qū)別

(2)varchar(50)中50的涵義

(3)int(20)中20的涵義

(4)為什么MySQL這樣設(shè)計(jì)?

[備注] 本人也面試了近12個(gè)2年mysql dba經(jīng)驗(yàn)的朋友,很少能回答出第(2)以及(4)題。

4,問(wèn)了innodb的事務(wù)與日志的實(shí)現(xiàn)方式。

(1)有多少種日志

(2)日志的存放形式

(3)事務(wù)是如何通過(guò)日志來(lái)實(shí)現(xiàn)的,說(shuō)得越深入越好。

5,問(wèn)了mysql binlog的幾種日志錄入格式以及區(qū)別

(1)各種日志格式的涵義

(2)適用場(chǎng)景

(3)結(jié)合第一個(gè)問(wèn)題,每一種日志格式在復(fù)制中的優(yōu)劣。

6,問(wèn)了下mysql數(shù)據(jù)庫(kù)cpu飆升到500%的話他怎么處理?

(1) 沒(méi)有經(jīng)驗(yàn)的,可以不問(wèn)

(2)有經(jīng)驗(yàn)的,問(wèn)他們的處理思路

7,sql優(yōu)化。

(1)explain出來(lái)的各種item的意義

(2)profile的意義以及使用場(chǎng)景。

(3)explain中的索引問(wèn)題。

8,  備份計(jì)劃,mysqldump以及xtranbackup的實(shí)現(xiàn)原理,

(1) 備份計(jì)劃

(2)備份恢復(fù)時(shí)間

(3)備份恢復(fù)失敗如何處理

9,  500臺(tái)db,在最快時(shí)間之內(nèi)重啟。

10, 在當(dāng)前的工作中,你碰到到的最大的mysql db問(wèn)題是?

11,  innodb的讀寫參數(shù)優(yōu)化

(1)讀取參數(shù),global buffer pool以及 local buffer

(2)寫入?yún)?shù)

(3)與IO相關(guān)的參數(shù)

(4)緩存參數(shù)以及緩存的適用場(chǎng)景

12 ,請(qǐng)簡(jiǎn)潔地描述下MySQL中InnoDB支持的四種事務(wù)隔離級(jí)別名稱,以及逐級(jí)之間的區(qū)別?

13,表中有大字段X(例如:text類型),且字段X不會(huì)經(jīng)常更新,以讀為為主,請(qǐng)問(wèn)

(1)您 是選擇拆成子表,還是繼續(xù)放一起?

(2)寫出您這樣選擇的理由?

14,MySQL中InnoDB引擎的行鎖是通過(guò)加在什么上完成(或稱實(shí)現(xiàn))的?為什么是這樣子的?