数据库面试题【十五、优化查询过程中的数据访问】
生活随笔
收集整理的這篇文章主要介紹了
数据库面试题【十五、优化查询过程中的数据访问】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
訪問數據太多導致查詢性能下降
確定應用程序是否在檢索大量超過需要的數據,可能是太多行或列
確認MySQL服務器是否在分析大量不必要的數據行
避免犯如下SQL語句錯誤
查詢不需要的數據。解決辦法:使用limit解決
多表關聯返回全部列。解決辦法:指定列名
總是返回全部列。解決辦法:避免使用SELECT *
重復查詢相同的數據。解決辦法:可以緩存數據,下次直接讀取緩存
是否在掃描額外的記錄。解決辦法:
使用explain進行分析,如果發現查詢需要掃描大量的數據,但只返回少數的行,可以通過如下技巧去優化:
使用索引覆蓋掃描,把所有的列都放到索引中,這樣存儲引擎不需要回表獲取對應行就可以返回結果。
改變數據庫和表的結構,修改數據表范式
重寫SQL語句,讓優化器可以以更優的方式執行查詢。
總結
以上是生活随笔為你收集整理的数据库面试题【十五、优化查询过程中的数据访问】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库面试题【十四、主键使用自增ID还是
- 下一篇: 数据库面试题【十六、优化长难的查询语句】