溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

常見的數據庫基礎試題及答案匯總

發布時間:2020-04-28 14:57:05 來源:億速云 閱讀:1685 作者:小新 欄目:編程語言

常見的數據庫基礎試題及答案有哪些呢?這應該是很多人都比較關心的問題,下面是小編繼續整理的關于常見的數據庫基礎試題及答案匯總,大家一起往下看吧!

常見的數據庫基礎試題及答案匯總

一、庫索引
數據庫索引,是數據庫管理系統中一個排序的數據結構,以協助 快速查詢、更新數據庫表中數據。索引的實現 通常使用 B_TREE。
B_TREE 索引加速了數據訪問,因為存儲引擎不會再去掃描整張表得到需要的數據;相反,它 從根節點開始,根節點保存了子節點的指針,存儲引擎會根據指針快速尋找數據。

二、數據庫怎么優化查詢效率?

1、儲存引擎選擇:如果數據表需要事務處理,應該考慮使用 InnoDB, 因為它完全符合 ACID 特性。如果不需 要事務處理,使用默認存儲引擎 MyISAM 是比較明智的

2、分表分庫,主從。

3、對查詢進行優化,要盡量避免全表掃描,首先應考慮在 where 及order by 涉及的列上建立索引

4、應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描

5、應盡量避免在 where ?子句中使用!= ?或<> 操作符,否則將引擎放棄使用索引而進行全表掃描

6、應盡量避免在 where 子句中使用 or 來連接條件,如果一個字段有索引,一個字段沒有索引,將導致引擎 放棄使用索引而進行全表掃描

7、Update 語句,如果只更改 1、2 個字段,不要 Update 全部字段, 否則頻繁調用會引起明顯的性能消耗, 同時帶來大量日志

8、對于多張大數據量(這里幾百條就算大了)的表 JOIN,要先分頁再 JOIN,否則邏輯讀會很高,性能很差。

三、你用的 Mysql 是哪個引擎,各引擎之間有什么區別?

主要 MyISAM 與 InnoDB 兩個引擎,其主要區別如下:InnoDB 支持事務,MyISAM 不支持,這一點是非常 之重要。事務是一種高級的處理方式,如在一些列增刪改中只要哪個出錯還可以回滾還原,而 MyISAM 就不可以了;

MyISAM 適合查詢以及插入為主的應用,InnoDB 適合頻繁修改以及涉及到安全性較高的應用; InnoDB 支持外鍵,MyISAM 不支持;

MyISAM 是默認引擎, InnoDB 需要指定; InnoDB 不支持FULLTEXT 類型的索引;

InnoDB中不保存表的行數,如 select count() from table 時,

InnoDB;需要掃描一遍整個表來計算有多少行,但是 MyISAM 只要簡單的讀出保存好的行數即可。注意的是,當 count()語句包含 where 條件時MyISAM 也需要 掃描整個表;

對于自增長的字段,InnoDB 中必須包含只有該字段的索引,但是在 MyISAM 表中可以和其他字 段一起建立聯合索引;清空整個表時,InnoDB 是一行一行的刪除,效率非常慢。MyISAM 則會重建表;

InnoDB 支持行鎖(某些情況下還是鎖整表,如 update table set a=1 where user like '%lee%'

四、如何對查詢命令進行優化?

1、 應盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索。

2、 應盡量避免在 where 子句中對字段進行 null 值判斷,避免使用!=或<>操作符,避免使用 or 連接條件,或在 where 子句中使用參數、對字段進行表達式或函數操作,否則會導致權標掃描 c. 不要在 where 子句中的&ldquo;=&rdquo;左邊進行函數、算術運算或其他表達式運算, 否則系統將可能無 法正確使用索引。

3、使用索引字段作為條件時,如果該索引是復合索引,那么必須使用到該索引中的第一個字段作為 條件時才能保證系統使用該索引, 否則該索引將不會被使用。

4、 很多時候可考慮用 exists 代替 in、 f. 盡量使用數字型字段。

5、 盡可能的使用 varchar/nvarchar 代替 char/nchar。

6、任何地方都不要使用 select from t??? ,用具體的字段列表代替&ldquo;,&rdquo; 不要返回用不到的任何字段。

7、盡量使用表變量來代替臨時表。

8、避免頻繁創建和刪除臨時表,以減少系統表資源的消耗。 k. 盡量避免使用游標,因為游標的效率較差。

9、在所有的存儲過程和觸發器的開始處設置 SET NOCOUNT ON ,在結束時設置 SET NOCOUNT OFF。 m. 盡量避免大事務操作,提高系統并發能力。

10、盡量避免向客戶端返回大數據量,若數據量過大,應該考慮相應需求是否合理。

常見的數據庫基礎試題及答案匯總今天就分享到這里了,如果有興趣的同學可以關注億速云行業資訊,這里每天都會更新大量的優質內容,希望對你們有所幫助吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女