更新時間:2020-02-12 10:09:21 來源:動力節點 瀏覽2596次
數據庫是開發過程中必須要有的,正是由于數據庫的使用率是100%,所以會有各種各樣的關于數據庫的優化,拆分等等一系列的問題。
負向查詢不能使用索引
selectnamefromuserwhereidnotin(1,3,4);
應該修改為:
selectnamefromuserwhereidin(2,5,6);
前導模糊查詢不能使用索引
如:
selectnamefromuserwherenamelike'%zhangsan'
非前導則可以:
selectnamefromuserwherenamelike'zhangsan%'
建議可以考慮使用Lucene等全文索引工具來代替頻繁的模糊查詢。
數據區分不明顯的不建議創建索引
如user表中的性別字段,可以明顯區分的才建議創建索引,如身份證等字段。
字段的默認值不要為null
這樣會帶來和預期不一致的查詢結果。
在字段上進行計算不能命中索引
selectnamefromuserwhereFROM_UNIXTIME(create_time)<CURDATE();
應該修改為:
selectnamefromuserwherecreate_time<FROM_UNIXTIME(CURDATE());
最左前綴問題
如果給user表中的usernamepwd字段創建了復合索引那么使用以下SQL都是可以命中索引:
但是使用
selectusernamefromuserwherepwd='axsedf1sd'
是不能命中索引的。
如果明確知道只有一條記錄返回
selectnamefromuserwhereusername='zhangsan'limit1
可以提高效率,可以讓數據庫停止游標移動。
不要讓數據庫幫我們做強制類型轉換
selectnamefromuserwheretelno=18722222222
這樣雖然可以查出數據,但是會導致全表掃描。
需要修改為
selectnamefromuserwheretelno='18722222222'
如果需要進行join的字段兩表的字段類型要相同
不然也不會命中索引。
數據庫相關視頻教程
oracle數據庫教程:http://www.ilovecolors.com.cn/v22/
數據庫plsql教程:http://www.ilovecolors.com.cn/v23/
jdbc數據庫教程:http://www.ilovecolors.com.cn/v24/
數據庫mysql教程:http://www.ilovecolors.com.cn/v21
Java實戰項目視頻之egov項目視頻教程【免費下載】:http://www.ilovecolors.com.cn/v83/
Java學生成績管理系統視頻教程【免費下載】:http://www.ilovecolors.com.cn/v51/
以上就是動力節點Java培訓機構小編介紹的“Java數據庫編程視頻教程下載”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習