Sqlserver面试题
①第一范式:所有的字段不能有冗余信息,所有的字段都是必不可少的。
②第二范式:滿足第一范式并且表必須有主鍵。
③第三范式:滿足第二范式并且表引用其他的表必須通過主鍵引用。
2.事務、視圖、索引都是有什么作用
①事務:就是被綁定在一起的作為一個邏輯工作單元的SQL語句分組,如果任何一個語句操作失敗,那么整個操作就失敗,回滾到操作前狀態。
②視圖:視圖是一種虛擬表,具有和物理表相同的功能,可以對視圖進行增、改、查操作,對視圖的修改不影響基本表,相比于多表查詢,它使得我們獲取數據更容易。
③索引:就一種特殊的查詢表,數據庫的搜索引擎可以利用它加速對數據的檢索,類似于生活中書的目錄。
3.存儲過程的作用是什么
①存儲過程是一種預編譯的SQL語句
②允許模塊化的設計,可以多次使用
③防止SQL注入
4.如何處理幾十萬條并發數據?
答:1.使用存儲過程 -- 哪些處理一次請求需要多次訪問數據庫的操作,可以把操作整合到存儲過程,這樣只要一次數據庫訪問就可以了。
2.批量讀取 -- 高并發情況下,可以把多個請求的查詢合并到一次進行,以減少數據庫的訪問次數。
3.使用索引 -- 索引可以看作hi特殊的緩存,使用索引就要求where字句中精確的給出索引列的值。
4.分表 -- 把本來同一張表的內容,可以按照地區、類別等分成多張表,很簡單的一個思路,但是要盡量避免分出來的多表關聯查詢。
5.分離活躍數據 -- 例如登錄用戶業務,注冊用戶很多,但是活躍的登錄用戶很少,可以把活躍用戶專門保存一張表,查詢是先查詢活躍表,沒有的話再查總表,這也類似于緩存啦。
6.分塊 -- 數據庫層面的優化,對程序是透明的,查詢大數據只用找到相應塊就行啦。
7.集群 -- 將兵法請求分配到不同的服務器上,可以是業務服務器,也可以是數據庫服務器。
5.SQL之連接查詢
外連接:
左連接(左外連接):以左表作為基準進行查詢,左表數據會全部顯示出來,右表如果和左表匹配的 數據則顯示相應字段的數據,如果不匹配則顯示為 null。
右連接(右外連接):以右表作為基準進行查詢,右表數據會全部顯示出來,左表如果和右表匹配的 數據則顯示相應字段的數據,如果不匹配則顯示為 null。
全外連接:可以通過左外和右外求合集來獲取全外連接
內連接: 顯示表之間有連接匹配的所有行。
總結
以上是生活随笔為你收集整理的Sqlserver面试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重链剖分长链剖分
- 下一篇: 靠这篇竟然理解了CAN协议!实战STM3