<pre id="ff7yo"></pre>

      <form id="ff7yo"><legend id="ff7yo"></legend></form>
        <nav id="ff7yo"><listing id="ff7yo"></listing></nav><nav id="ff7yo"></nav>

        <nav id="ff7yo"><listing id="ff7yo"></listing></nav>
        <small id="ff7yo"></small><nav id="ff7yo"><dd id="ff7yo"></dd></nav>
      1. <nav id="ff7yo"></nav>
          <form id="ff7yo"></form><nav id="ff7yo"></nav>
          <nav id="ff7yo"></nav>
          <sub id="ff7yo"></sub>
          更多課程 選擇中心

          軟件測試培訓
          達內IT學院

          400-111-8989

          軟件測試必學的數據庫知識

          • 發布:軟件測試培訓
          • 來源:軟件測試資源分享
          • 時間:2019-12-16 11:16

          索引對數據庫性能如此重要,應該如何使用它?

          為數據庫選擇正確的索引是一項復雜的任務。如果索引列較少,則需要的磁盤空間和維護開銷 都較少。如果在一個大表上創建了多種組合索引,索引文件也會膨脹很快。而另一方面,索引較多 可覆蓋更多的查詢。可能需要試驗若干不同的設計,才能找到最有效的索引。可以添加、修改和刪 除索引而不影響數據庫架構或應用程序設計。因此,應嘗試多個不同的索引從而建立最優的索引。

          盡量使用短索引。

          對字符串類型的字段進行索引,如果可能應該指定一個前綴長度。例如,如果有一個 CHAR(255)的列,如果在前10個或30個字符內,多數值是惟一的,則不需要對整個列進行索引。 短索引不僅可以提高查詢速度而且可以節省磁盤空間、減少I/O操作。

          MySQL存儲過程和函數有什么區別?

          在本質上它們都是存儲程序。函數只能通過return語句返回單個值或者表對象;而存儲過程 不允許執行return,但是可以通過out參數返回多個值。函數限制比較多,不能用臨時表,只能用表變量,還有一些函數都不可用等等;而存儲過程的限制相對就比較少。函數可以嵌入在SQL 語句中使用,可以在SELECT語句中作為查詢語句的一個部分調用;而存儲過程一般是作為一個獨立的部分來執行。

          存儲過程中的代碼可以改變嗎?

          目前,MySQL還不提供對已存在的存儲過程代碼的修改,如果必須要修改存儲過程,必須使用DROP語句刪除之后,再重新編寫代碼,或者創建一個新的存儲過程。

          存儲過程中可以調用其他存儲過程嗎?

          存儲過程包含用戶定義的SQL語句集合,可以使用CALL語句調用存儲過程,當然在存儲 過程中也可以使用CALL語句調用其他存儲過程,但是不能使用DROP語句刪除其他存儲過程。

          存儲過程的參數不要與數據表中的字段名相同。

          在定義存儲過程參數列表時,應注意把參數名與數據庫表中的字段名區別開來,否則將出現無法預期的結果。

          存儲過程的參數可以使用中文嗎?

          一般情況下,可能會出現存儲過程中傳入中文參數的情況,例如某個存儲過程根據用戶的 名字查找該用戶的信息,傳入的參數值可能是中文。這時需要在定義存儲過程的時候,在后面加 上character set gbk,不然調用存儲過程使用中文參數會出錯,比如定義userInfo存儲過程,代碼 如下:

          CREATE PROCEDURE useInfo(IN u_name VARCHAR(50) character set gbk, OUT u_age INT)

          MySQL中視圖和表的區別以及聯系是什么?

          兩者的區別:

          (1)視圖是已經編譯好的SQL語句,是基于SQL語句的結果集的可視化的表,而表不是。

          (2)視圖沒有實際的物理記錄,而基本表有。

          (3)表是內容,視圖是窗口。

          (4)表占用物理空間而視圖不占用物理空間,視圖只是邏輯概念的存在,表可以及時對它 進行修改,但視圖只能用創建的語句來修改。

          (5)視圖是查看數據表的一種方法,可以查詢數據表中某些字段構成的數據,只是一些SQL 語句的集合。從安全的角度來說,視圖可以防止用戶接觸數據表,因而用戶不知道表結構。

          (6)表屬于全局模式中的表,是實表;視圖屬于局部模式的表,是虛表。

          (7)視圖的建立和刪除只影響視圖本身,不影響對應的基本表。

          兩者的聯系:

          視圖(view)是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有記錄) 都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本 表。視圖是基本表的抽象和在邏輯意義上建立的新關系。

          使用觸發器時須特別注意。

          在使用觸發器的時候需要注意,對于相同的表,相同的事件只能創建一個觸發器,比如對 表account創建了一個BEFORE INSERT觸發器,那么如果對表account再次創建一個BEFORE INSERT觸發器,MySQL將會報錯,此時,只可以在表account上創建AFTER INSERT或者 BEFORE UPDATE類型的觸發器。靈活的運用觸發器將為操作省去很多麻煩。

          及時刪除不再需要的觸發器。

          觸發器定義之后,每次執行觸發事件,都會激活觸發器并執行觸發器中的語句。如果需求發生變化,而觸發器沒有進行相應的改變或者刪除,則觸發器仍然會執行舊的語句,從而會影響 新的數據的完整性。因此,要將不再使用的觸發器及時刪除。

          免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:軟件功能性測試常見故障分析
          下一篇:如何寫一份漂亮的測試用例?

          學習軟件測試需要了解的數據庫知識?

          熱修復測試過程注意事項

          軟件測試常見性能問題

          高薪測試技術要掌握哪些

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          陜西省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          神马影院-战旗影院-首播影院-新视觉影院-在线观看中文字幕dvd播放 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>