從離職的同事那里接手了一個基于orcal資料庫的專案,系統功能性完備,就是再操作資料庫時太慢了,嚴重影響體驗。
經過初步研究,發現所搭建的關系型資料庫,沒有使用索引。
我想問的是,我給資料庫加上索引之后,系統的代碼端還需要調整做資料庫操作sql陳述句嗎?加入索引之后,系統就回應快了嗎?
本人初學,請大神幫忙。不過就我以現在的認知水平來說,不需要修改系統的代碼。
uj5u.com熱心網友回復:
不需要修改代碼。加索引就是為了讓sql使用到索引提升查詢速度。
建議百度學習一下索引的知識。
uj5u.com熱心網友回復:
前提是where后的列條件使用到了你建的索引,否則提升不了查詢性能。一般索引建在where條件中過濾性最強的欄位上。uj5u.com熱心網友回復:
建了相應的索引,優化器認為走索引代價低就會走索引。建議生成個AWR報告 ,對里面的top sql進行分析優化下 以提高性能。
也可以針對某些操作慢的sql單獨進行分析優化
uj5u.com熱心網友回復:
1、加索引或刪索引,不需要調整代碼,但可能會對SQL的性能有影響;
2、加索引后是否能提升SQL的性能,那得看是否走索引,走的索引是否是最合適的;
3、SQL優化是門學問,你可以找些資料看看,具體就是通過獲取和查看獲取的SQL陳述句的執行計劃進行分析和優化,里面知識點還是有些多,但作為開發人員,如果懂SQL優化也是一個優勢,可以試著學下。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/11571.html
標籤:高級技術
