1.在where條件中避免雙百分號“%col%” 在MySQL的SQL查詢條件中使用“%col%”無法使用索引而進行全表掃描影響查詢效率 2.避免函數(shù)出現(xiàn)在where條件中 例:where year(‘a(chǎn)ctivedate’)= ‘2018’在條件中使用函數(shù)即使該字段有索引,執(zhí)行計劃也不會使用索引而進行全表掃描 3.避免數(shù)據(jù)類型不一致 執(zhí)行查詢操作的時候,在where條件中使用與字段類型相同的值,盡量避免讓MySQL執(zhí)行轉化操作, 例:activedate < STR_TO_DATE('2018-08-08', '%Y-%m-%d')不要寫成activedate< '2018-08-08' 4.讀取適當?shù)挠涗浖靶枰淖侄?,避免select * from tab_name 5.分組統(tǒng)計時可以禁止排序 MySQL默認情況下對所有group by的字段進行排序,如果查詢包括group by 又不需要排序操作可以禁止order by null 6.減少使用子查詢或者不使用子查詢,可以用join代替 7.創(chuàng)建表的時候選擇合適的字段屬性,盡量讓字段not null,這樣數(shù)據(jù)庫在執(zhí)行查詢的時候不用比較null值 8.在執(zhí)行DML(update、insert、delete)操作的時候使用事務維護數(shù)據(jù)的完整性 begin; DML語句; commit; 9.鎖定表,當進行批量操作的時候使用事務會鎖定數(shù)據(jù)庫,這時如果有大量的用戶訪問會造成延遲,可以用鎖定表來代替事務 lock table write select col1,col2 from tab_name..... update ...;unlocktables; 10.合理使用索引 索引是提高數(shù)據(jù)庫性能的有效方法,但創(chuàng)建索引要合理,避免建在大量重復值的字段上。在where、join、order by等字段上合理創(chuàng)建索引來提高性能。 以上個人總結供參考,歡迎指正!站在用戶的角度思考問題,與客戶深入溝通,找到囊謙網(wǎng)站設計與囊謙網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)絡空間、企業(yè)郵箱。業(yè)務覆蓋囊謙地區(qū)。
網(wǎng)站欄目:MySQL日常SQL優(yōu)化注意事項-創(chuàng)新互聯(lián)
URL鏈接:http://aaarwkj.com/article40/ggpeo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、定制網(wǎng)站、營銷型網(wǎng)站建設、網(wǎng)站排名、移動網(wǎng)站建設、網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)