qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          軟件測試中SQL代碼的優(yōu)化

           1.使用索引可以快速的訪問數(shù)據(jù)庫表中的特定信息,索引是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結(jié)構(gòu),例如 employee 表的姓名(name)列。如果要按姓查找特定職員,與必須搜索表中的所有行相比,索引會幫助您更快地獲得該信息。但是有些索引會因為SQL代碼使用不當導致索引不被使用,所以在軟件測試中我們應該糾正那些不當?shù)腟QL代碼。以下就是sql代碼需要優(yōu)化的情況:
            (1)在主鍵上建了索引,查詢條件主鍵使用or。
            select *from tb_user where fd_userid=19 or fd_userid=21;這時建在fd_userid的索引將不被使用。
            建議改成 where fd_userid in(19,21)
            (2)盡量避免使用union。
            (3)盡量避免使用not,可以用運算符代替。
            (4)隔離條件上的列,如:select * from tb_a where fd_value+=100。這時建在fd_value的索引將不被使用。
            (5)盡量不單獨使用and,可以用between…and…如:where fd_time>100 and fd_time<120。可以改成fd_time between 100 and 120。
            (6)盡量避免使用like的特殊形式:“%”或“_”開頭,如:“%bn” “_bn”。
            (7)減少冗余條件
            (8)避免使用having,也會影響字段的索引
            (9)少用distinct
            (10)避免使用any all,如select fd_id from tb_a where fd_id<=all(select fd_id from tb_b);可以改成<=(select min(fd_id) from tb_b+++)
            (11)避免使用原生態(tài)的SQL語句,容易有sql注入。

          posted on 2013-11-22 12:17 順其自然EVO 閱讀(208) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

          <2013年11月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 乌恰县| 永嘉县| 肥东县| 南川市| 贡觉县| 彰化县| 昌吉市| 庐江县| 保康县| 牟定县| 元谋县| 博客| 曲阜市| 东源县| 咸宁市| 凌云县| 松滋市| 同江市| 房山区| 关岭| 云浮市| 交城县| 子长县| 阳东县| 克什克腾旗| 比如县| 高唐县| 尚志市| 天祝| 上高县| 屯昌县| 抚宁县| 莱芜市| 桃园县| 上栗县| 湖口县| 广饶县| 平顶山市| 德保县| 大姚县| 富源县|