作者kuoyu (^_^)
看板PHP
標題Re: [請益] MYSQL效能問題
時間Sun Nov 27 21:55:06 2005
※ 引述《sunbysea (下五子棋吧)》之銘言:
: 之前寫php程式用到mysql,大概是幾萬筆的資料
: 感覺起來效能還不錯
: 現在要用到的資料可能會有一千多萬筆
: 估計資料從零筆累積到一千多萬筆的時間間隔是一個禮拜
: 然後資料又歸零從新開始
: 期間要不斷的insert資料到資料庫,同時select資料跑一些程式
: 想問一下,當table變的很大的時候,mysql效能如何
: 另外像處理這樣大資料庫的例子有沒有什麼需要注意的地方
: 或是有沒有什麼方法可以提升資料庫運作的效率
: 麻煩各位大大指點一下
: 謝謝
資料格式..每個欄位的資料定址不要超過太多..
能用varchar(128)就不要用text(名稱不確定對不對)
index的指定可以讓搜尋更更快..可是也會拖慢寫入速度..
這一點要自己去衡量..修改次數多了以後最好作一次「資料重整」..
原理跟硬碟重整類似..另外當資料歸零的時候..
把他drop掉重新建立可能會比較好..
如果你的資料量真的非常大..那麼硬體加強一點比較好..
如果你使用linux..可以看看是否有動用到swap..
不是說不要設定swap..而是他的速度覺對沒有RAM快..
動用到swap表示ram可能不夠..加多一點..
如果在同一時間可能有多個執行會寫入硬碟..
加強硬碟的能力也有幫助..比如說cache大一點的..
或用raid陣列(要選對喔)..硬碟快取卡也行..
畢竟DbServer不像其他服務那樣容易將一個service分散給多台server負責..
另外就是SQL指令的技巧也可能有差..
尤其是很複雜的指令..這需要經驗..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.155.53
推 ottokang:好文! 11/27 23:02
推 sunbysea:感謝回應 :) 11/28 00:21