mvc 架構
BlogJava
::
首頁
::
聯系
::
聚合
::
管理
74 Posts :: 60 Stories :: 5 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(2)
給我留言
查看公開留言
查看私人留言
我參與的團隊
隨筆分類
start mvc
隨筆檔案
(74)
2011年3月 (1)
2011年1月 (1)
2010年8月 (1)
2009年4月 (3)
2009年3月 (1)
2009年2月 (4)
2009年1月 (2)
2008年11月 (1)
2008年10月 (8)
2008年8月 (1)
2008年7月 (1)
2008年6月 (6)
2008年2月 (1)
2008年1月 (4)
2007年12月 (14)
2007年11月 (7)
2007年10月 (3)
2007年9月 (3)
2007年8月 (7)
2007年7月 (2)
2007年6月 (2)
2007年5月 (1)
文章檔案
(59)
2009年7月 (1)
2009年2月 (1)
2008年5月 (1)
2008年4月 (1)
2008年2月 (2)
2007年12月 (2)
2007年11月 (11)
2007年10月 (8)
2007年9月 (20)
2007年8月 (8)
2007年6月 (4)
新聞檔案
(1)
2007年8月 (1)
相冊
aaa
搜索
最新評論
1.?re: 抽象類與接口區別
這難倒是我們老師的博客,怎么和他上課講的一抹一樣啊
--汪瑞霞
2.?re: 你真的輸不起了,別再孩子了(轉)
寬待自己,也寬待別人。當你不會因為小小的不如意小小的事而生氣或難過的時候,你會輕松很多。
要原諒這個世界和自己。
要告訴自己,我值得擁有最好的一切!
--何楊
3.?re: 個人站長 大而全不如專業發展[轉貼]
對,小規模站走長尾是很對的。
--heyang
4.?re: 相處原則[轉貼]
經典
--懶人
5.?re: 如何迅速成為Java高手[轉貼]
努力就是捷徑
--千里冰封
閱讀排行榜
1.?什么是b/s模式?b/s模式的 結構?c/s與b/s的異同? <轉載>(972)
2.?html標簽大全[轉帖](429)
3.?linux用戶和用戶組 [轉貼](427)
4.?Struts2 與 Struts1.x比較[轉貼](410)
5.?JAVA如何調用DOS命令[轉貼](398)
評論排行榜
1.?相處原則[轉貼](1)
2.?個人站長 大而全不如專業發展[轉貼](1)
3.?你真的輸不起了,別再孩子了(轉)(1)
4.?一個小女人:“你做到這些,我就嫁你..我要...(轉帖)(0)
5.?人生價值的計算公式[轉帖](0)
SQL語句效率 [轉載]
? 1. SQL優化的原則是:將一次操作需要讀取的BLOCK數減到最低,即在最短的時間達到最大的數據吞吐量。 ?
? 調整不良SQL通常可以從以下幾點切入: ?
? ? 檢查不良的SQL,考慮其寫法是否還有可優化內容 ?
? ? 檢查子查詢 ? 考慮SQL子查詢是否可以用簡單連接的方式進行重新書寫 ?
? ? 檢查優化索引的使用 ?
? ? 考慮數據庫的優化器 ?
? ?
? 2. 避免出現SELECT ? * ? FROM ? table ? ? 語句,要明確查出的字段。 ? ?
? ?
? 3. 在一個SQL語句中,如果一個where條件過濾的數據庫記錄越多,定位越準確,則該where條件越應該前移。 ?
? ?
? 4. 查詢時盡可能使用索引覆蓋。即對SELECT的字段建立復合索引,這樣查詢時只進行索引掃描,不讀取數據塊。 ?
? ?
? 5. 在判斷有無符合條件的記錄時建議不要用SELECT ? COUNT ? (*)和select ? top ? 1 ? 語句。 ?
? ?
? 6. 使用內層限定原則,在拼寫SQL語句時,將查詢條件分解、分類,并盡量在SQL語句的最里層進行限定,以減少數據的處理量。 ?
? ?
? 7. 應絕對避免在order ? by子句中使用表達式。 ?
? ?
? 8. 如果需要從關聯表讀數據,關聯的表一般不要超過7個。 ?
? ?
? 9. 小心使用 ? IN ? 和 ? OR,需要注意In集合中的數據量。建議集合中的數據不超過200個。 ?
? ?
? 10. <> ? 用 ? < ? 、 ? > ? 代替,>用>=代替,<用<=代替,這樣可以有效的利用索引。 ?
? ?
? 11. 在查詢時盡量減少對多余數據的讀取包括多余的列與多余的行。 ?
? ?
? 12. 對于復合索引要注意,例如在建立復合索引時列的順序是F1,F2,F3,則在where或order ? by子句中這些字段出現的順序要與建立索引時的字段順序一致,且必須包含第一列。只能是F1或F1,F2或F1,F2,F3。否則不會用到該索引。?
13. 多表關聯查詢時,寫法必須遵循以下原則,這樣做有利于建立索引,提高查詢效率。格式如下select ? sum(table1.je) ? from ? table1 ? table1, ? ? table2 ? table2, ? ? table3 ? ? table3 ? where ? (table1的等值條件(=)) ? and ? (table1的非等值條件) ? and ? (table2與table1的關聯條件) ? and ? (table2的等值條件) ? and ? (table2的非等值條件) ? and ? (table3與table2的關聯條件) ? and ? (table3的等值條件) ? and ? (table3的非等值條件)。 ?
? ? ? 注:關于多表查詢時from ? ? 后面表的出現順序對效率的影響還有待研究。 ?
? ?
? 14. 子查詢問題。對于能用連接方式或者視圖方式實現的功能,不要用子查詢。例如:select ? name ? from ? customer ? where ? customer_id ? in ? ( ? select ? customer_id ? from ? order ? where ? money>1000)。應該用如下語句代替:select ? name ? from ? customer ? inner ? join ? order ? on ? customer.customer_id=order.customer_id ? where ? order.money>100。 ?
? ?
? 15. 在WHERE ? 子句中,避免對列的四則運算,特別是where ? 條件的左邊,嚴禁使用運算與函數對列進行處理。比如有些地方 ? substring ? 可以用like代替。 ?
? ?
? 16. 如果在語句中有not ? in(in)操作,應考慮用not ? exists(exists)來重寫,最好的辦法是使用外連接實現。 ?
? ? ?
? 17. 對一個業務過程的處理,應該使事物的開始與結束之間的時間間隔越短越好,原則上做到數據庫的讀操作在前面完成,數據庫寫操作在后面完成,避免交叉。 ?
? ?
? 18. 請小心不要對過多的列使用列函數和order ? by,group ? by等,謹慎使用disti軟件開發t。 ?
? ?
? 19. 用union ? all ? 代替 ? union,數據庫執行union操作,首先先分別執行union兩端的查詢,將其放在臨時表中,然后在對其進行排序,過濾重復的記錄。 ?
? 當已知的業務邏輯決定query ? A和query ? B中不會有重復記錄時,應該用union ? all代替union,以提高查詢效率。
數據更新的效率 ?
? 1. 在一個事物中,對同一個表的多個insert語句應該集中在一起執行。 ?
? 2. 在一個業務過程中,盡量的使insert,update,delete語句在業務結束前執行,以減少死鎖的可能性。 ?
數據庫物理規劃的效率 ?
? ? ?
? 為了避免I/O的沖突,我們在設計數據庫物理規劃時應該遵循幾條基本的原則(以ORACLE舉例): ?
? ? table和index分離:table和index應該分別放在不同的tablespace中。 ?
? ?
? ? Rollback ? Segment的分離:Rollback ? Segment應該放在獨立的Tablespace中。 ?
? ?
? ? System ? Tablespace的分離:System ? Tablespace中不允許放置任何用戶的object。(mssql中primary ? filegroup中不允許放置任何用戶的object) ?
? ?
? ? Temp ? Tablesace的分離:建立單獨的Temp ? Tablespace,并為每個user指定default ? Temp ? Tablespace ?
? ?
? ?避免碎片:但segment中出現大量的碎片時,會導致讀數據時需要訪問的block數量的增加。對經常發生DML操作的segemeng來說,碎片是不能完全避免的。所以,我們應該將經常做DML操作的表和很少發生變化的表分離在不同的Tablespace中。 ?
? ? ?
? 當我們遵循了以上原則后,仍然發現有I/O沖突存在,我們可以用數據分離的方法來解決。 ?
? ? 連接Table的分離:在實際應用中經常做連接查詢的Table,可以將其分離在不同的Taclespace中,以減少I/O沖突。 ?
? ?
? ? 使用分區:對數據量很大的Table和Index使用分區,放在不同的Tablespace中。 ?
? ? ?
? 在實際的物理存儲中,建議使用RAID。日志文件應放在單獨的磁盤中。??
posted on 2007-09-10 13:42
e全
閱讀(354)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Copyright @ e全
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster
主站蜘蛛池模板:
免费久久人人爽人人爽av
|
国产AV日韩A∨亚洲AV电影
|
a级毛片在线免费
|
亚洲国产精品成人
|
羞羞视频免费观看
|
亚洲欧洲国产成人综合在线观看
|
久久噜噜噜久久亚洲va久
|
一级做a爰片性色毛片免费网站
|
四虎影视在线永久免费看黄
|
久久精品国产亚洲AV电影网
|
国产在线98福利播放视频免费
|
亚洲成av人片在线天堂无
|
免费看小12萝裸体视频国产
|
免费的黄色的网站
|
久久亚洲国产精品一区二区
|
无码国产精品一区二区免费16
|
亚洲精品国产福利在线观看
|
亚洲国产精品成人
|
日韩电影免费在线观看网站
|
亚洲色欲色欲综合网站
|
美女被cao免费看在线看网站
|
亚洲熟女www一区二区三区
|
免费永久看黄在线观看app
|
久久精品成人免费观看97
|
亚洲高清在线观看
|
国产成人A在线观看视频免费
|
jzzijzzij在线观看亚洲熟妇
|
亚洲综合精品网站在线观看
|
一区二区三区在线免费看
|
亚洲一日韩欧美中文字幕在线
|
免费观看国产小粉嫩喷水
|
热99RE久久精品这里都是精品免费
|
亚洲黄色免费观看
|
精品少妇人妻AV免费久久洗澡
|
国产黄片不卡免费
|
亚洲丝袜中文字幕
|
亚洲男人天堂2020
|
1024免费福利永久观看网站
|
大片免费观看92在线视频线视频
|
亚洲国产精品ⅴa在线观看
|
久久影院亚洲一区
|