動(dòng)態(tài)網(wǎng)站的設計中怎么提升應用性能?

5年前 (2020-04-26)閱讀59回復0
荀施娜
荀施娜
  • 管理員
  • 發(fā)消息
  • 注冊排名2214
  • 經(jīng)驗值65
  • 級別管理員
  • 主題13
  • 回復0
樓主
印刷廠(chǎng)直印加工●彩頁(yè)1000張只需要69元●名片5元每盒-更多產(chǎn)品印刷報價(jià)?聯(lián)系電話(huà):138-1621-1622(微信同號)

??在動(dòng)態(tài)網(wǎng)站的設計中,數據庫設計的重要性不言而喻動(dòng)態(tài)數據應用。如果設計不當,查詢(xún)起來(lái)就非常吃力,程序的性能也會(huì )受到影響。無(wú)論你使用的是MySQL或者Oracle數據庫,通過(guò)進(jìn)行正規化的表格設計,可以令你的PHP代碼更具可讀性,更容易擴展,從而也會(huì )提升應用的性能。

簡(jiǎn)單說(shuō)來(lái),正規化就是在表格設計時(shí),消除冗余性和不協(xié)調的從屬關(guān)系動(dòng)態(tài)數據應用。在本文中,我將通過(guò)五個(gè)漸進(jìn)的過(guò)程來(lái)告訴你在設計中應該了解的正規化技巧。從而建立一個(gè)可行而且 效率高的數據庫。本文也會(huì )詳細分析一下可以利用的關(guān)系類(lèi)型。

這里假定我們要建立一個(gè)用戶(hù)信息的表格,其中要存儲用戶(hù)的名字、公司、公司地址和一些個(gè)人的收藏夾或url動(dòng)態(tài)數據應用。

??在開(kāi)始時(shí)動(dòng)態(tài)數據應用,你可能定義一個(gè)如下的表格結構:

零狀態(tài)形式

users

name company company_address url1 url2

Joe ABC 1 Work Lane abc動(dòng)態(tài)數據應用。com xyz。com

Jill XYZ 1 Job Street abc動(dòng)態(tài)數據應用。

??com xyz動(dòng)態(tài)數據應用。com

由于沒(méi)有進(jìn)行任何的正規化處理,我們將這種形式的表稱(chēng)為零狀態(tài)形式的表動(dòng)態(tài)數據應用。留意其中的url1和url2字段---如果我們在應用中需要第三個(gè)url呢?這樣你就要在表格中多加一列,很明顯,這不是一個(gè)好辦法。如果你要創(chuàng )建一個(gè)富有擴展性的系統,你就要考慮使用第一個(gè)正規化的形式,并且應用到該表格中。

第一級正規化形式

1動(dòng)態(tài)數據應用。消除每個(gè)表格中重復的組。

2動(dòng)態(tài)數據應用。為每套相關(guān)的數據建立一個(gè)獨立的表格。

*動(dòng)態(tài)數據應用。使用一個(gè)主鍵來(lái)標識每套相關(guān)的數據。

以上的表格明顯違反了上面第一條的規定,那么第三條的主鍵又是什么意思呢?很簡(jiǎn)單,它只是在每個(gè)記錄中加入一個(gè)唯一的、自動(dòng)增加的整型值動(dòng)態(tài)數據應用。

??通過(guò)這個(gè)值,就可以將兩個(gè)姓名一樣的記錄區分開(kāi)來(lái)動(dòng)態(tài)數據應用。通過(guò)應用第一級正規化形式,我們得到了以下的表格:

users

userId name company company_address url動(dòng)態(tài)數據應用。

0
0
收藏0
回帖

動(dòng)態(tài)網(wǎng)站的設計中怎么提升應用性能? 期待您的回復!

取消
載入表情清單……
載入顏色清單……
插入網(wǎng)絡(luò )圖片

取消確定

圖片上傳中
編輯器信息
提示信息