1.資料庫建索引的目的?
確保唯一性,加快表之間的查詢,加快索引速度,減少排序和分組的時間。
2.sql調優有哪些方法?
合理使用索引和分割槽表,觀察執行計畫,減少表連線。
3.如何進行資料庫備份和還原?
備份:mysqldump
還原:mysql,source
4.資料塊壞了,快速修復有幾種方法?
索引壞塊損壞重建索引
物理上損壞通過備份恢復
沒有備份遮蔽掉鎖壞塊拯救一部分資料
4.union 和union all有什麼不同?
union在進行表鏈結後會篩選掉重複的記錄,所以在表鏈結後會隊所產生的結果集進行排序運算,刪除重複的記錄再返回結果。最常見的就是過程表與歷史表union。
union all 就是簡單的將兩個結果合併後返回。這樣,如果返回的結果裡中有重複得資料,那麼返回的結果集就會包含重複的資料了。
5.什麼樣的字段適合建是索引。
唯一、不為空、經常被查詢的字段。
6.hash索引和b+樹索引的特點?
hash索引結構的特殊性,其檢索效率非常高,索引的檢索可以一次定位。
b+樹索引需要從根節點到枝節點,最後才能訪問到頁節點這樣多次的io訪問。
7.索引的作用?優缺點?
索引就是一種特殊的查詢表,資料庫的搜尋可以利用它加速對資料的檢索。它很類似於現實生活中書的目錄,不需要查詢整本書內容就可以找到想要的資料。
索引可以是唯一的,建立索引允許指定單個列或是多個列。缺點是它減慢了資料錄入的速度,同時也增加了資料庫的尺寸大小。
8.sql和 pl/sql有什麼區別?
sql是結構化查詢語言。
pl / sql 是procedural concepts程式語言。
9.什麼是collation?
collation是一系列的規則用來檢查資料是如何排序的。比如字串資料是通過字串的順序,字串的大小寫敏感等等來排序的。
10.聚集索引與非聚集索引的區別?
聚集索引的物理儲存按索引排序,非聚集所以的物理儲存不按索引排序。
聚集索引插入,更新資料的速度比非聚集索引慢,單查詢速度更快。聚集索引的葉級結點儲存的是時間的資料項,而非聚集結點的葉級結點儲存的是指向資料項的指標。乙個表只能有乙個聚集索引(因為只有一種排序方式),但可以有多個非聚集索引。
11.有幾種型別的語句?
ddl 資料定義語言,dml 資料管理語言,dcl 資料控制語言。
12.什麼是 stored procedures? 如何使用?
stored procedure 是一系列的 sql 語句,可以被當做函式來執行運算元據庫。stored procedure 用來減輕網路負擔並提高效能。
13.儲存過程的優缺點?
14.主鍵是什麼?
資料庫表中對儲存資料物件予以唯一和完整標識的資料列或屬性的組合。乙個資料列只能有乙個主鍵,且主鍵的取值不能缺失,即不能為空值(null)。
15.什麼是事務?什麼是鎖?
事務就是被繫結在一起作為乙個邏輯工作單元的 sql 語句分組,如果任何乙個語句操作失敗那麼整個操作就被失敗,以後操作就會回滾到操作前狀態,或者是上有個節點。為了確保要麼執行,要麼不執行,就可以使用事務。要將有組語句作為事務考慮,就需要通過 acid 測試,即原子性,一致性,隔離性和永續性。
鎖:在所以的 dbms 中,鎖是實現事務的關鍵,鎖可以保證事務的完整性和併發性。與現實生活中鎖一樣,它可以使某些資料的擁有者,在某段時間內不能使用某些資料或資料結構。當然鎖還分級別的。
SQL常見面試題彙總
sql查詢較慢的原因以及改進方法 重要程度 五顆 1 沒有索引或者沒有用到索引 這是查詢慢最常見的問題,是程式設計的缺陷 create unique clustered nonclustered index index name on with index property n 說明 unique ...
常見面試題
1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...
常見面試題
1 一行 實現1 100之和 lst i for i in range 1,101 print sum lst 2 如何在乙個函式內部修改全域性變數?在函式內部新增 global 變數名 這樣就可以在本地作用域定義全域性作用域了 name 大明 def eat name1 global name n...