日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

面试题: mysql 数据库已看 sql安全性 索引 引擎 sql优化

發布時間:2025/6/16 数据库 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面试题: mysql 数据库已看 sql安全性 索引 引擎 sql优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
總結的一些MySQL數據庫面試題
2016年06月16日 11:41:18 閱讀數:4950

一、sql語句應該考慮哪些安全性?

(1)防止sql注入,對特殊字符進行轉義,過濾或者使用預編譯的sql語句綁定變量。?
(2)最小權限原則,特別是不要用root賬戶,為不同的類型的動作或者組建使用不同的賬戶。?
(3)當sql運行出錯時,不要把數據庫返回的錯誤信息全部顯示給用戶,以防止泄漏服務器和數據庫相關信息


二、簡單描述MySQL中,索引,主鍵,唯一索引,聯合索引的區別,對數據庫的性能有什么影響。

(1)索引是一種特殊的文件(InnoDB數據表上的索引是表空間的一個組成部分),它們包含著對數據表里所有記錄的引用指針。?
(2)普通索引(由關鍵字KEY或INDEX定義的索引)的唯一任務是加快對數據的訪問速度。?
(3)普通索引允許被索引的數據列包含重復的值,如果能確定某個數據列只包含彼此各不相同的值,在為這個數據索引創建索引的時候就應該用關鍵字UNIQE把它定義為一個唯一所以,唯一索引可以保證數據記錄的唯一性。?
(4)主鍵,一種特殊的唯一索引,在一張表中只能定義一個主鍵索引,逐漸用于唯一標識一條記錄,是用關鍵字PRIMARY KEY來創建。?
(5)索引可以覆蓋多個數據列,如像INDEX索引,這就是聯合索引。?
(6)索引可以極大的提高數據的查詢速度,但是會降低插入刪除更新表的速度,因為在執行這些寫操作時,還要操作索引文件。


三、一張表,里面有ID自增主鍵,當insert了17條記錄之后,刪除了第15,16,17條記錄,再把Mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?(區分兩種數據庫引擎)

(1)如果表的類型是MyISAM,那么是18。?
因為MyISAM表會把自增主鍵的最大ID記錄到數據文件里,重啟MySQL自增主鍵的最大ID也不會丟失。?
(2)如果表的類型是InnoDB,那么是15。?
InnoDB表只是把自增主鍵的最大ID記錄到內存中,所以重啟數據庫或者是對表進行OPTIMIZE操作,都會導致最大ID丟失。


四、請簡述項目中優化sql語句執行效率的方法,從哪些方面。sql語句性能如何分析?

(1)盡量選擇較小的列?
(2)將where中用的比較頻繁的字段建立索引?
(3)select子句中避免使用‘*’?
(4)避免在索引列上使用計算,not,in和<>等操作?
(5)當只需要一行數據的時候使用limit 1?
(6)保證表單數據不超過200w,適時分割表?
(7)針對查詢較慢的語句,可以使用explain來分析該語句具體的執行情況


五、mysql_fetch_row()和mysql_fetch_array()的區別

這兩個函數,返回的都是一個數組,區別就是第一個函數返回的數組是只包含值,我們只能row[0],row[1],這樣以數組下標來讀取數據,而mysql_fetch_array()返回的數組既包含第一種,也包含鍵值對的形式,我們可以這樣讀取數據,(假如數據庫的字段是 username,passwd):row[‘username‘],row[‘passwd‘。

轉載于:https://www.cnblogs.com/shan1393/p/9117738.html

總結

以上是生活随笔為你收集整理的面试题: mysql 数据库已看 sql安全性 索引 引擎 sql优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。