以前一直用linux
MySQL,雖然比起SQLServe這個龐大的數據庫系統MySQL很苗條,但它並不遜色。如下說說這兩個在數據庫各自的分頁區別。數據庫
例1,取出前十條編程
在MySQL中: SELECT * FROM table LIMIT 10安全
在SQLServer中: SELECT TOP 10 * FROM table服務器
例2,每頁十條,取出第三頁併發
在MySQL中: SELECT * FROM table LIMIT 20,10函數
在SQLServer中:SELECT TOP 10 * FROM table WHERE ID NOT IN工具
(SELECT TOP 20 ID FROM table ORDER BY ID DESC) ORDER BY ID DESC性能
由以上例子能夠看出,在MySQL中分頁用LIMIT關鍵字,若是是LIMIT10表示取前十條,若是是LIMIT 10,10表示偏移十條取前十條記錄。在SQLServer中用top關鍵字,若是隻取前n條記錄直接topn便可,可是要是分頁取就有點麻煩。開發工具
性能
這多是全部DBA最關心的。MySQL的讀寫性能確實一流,即便針對大數據量也沒問題,但前提是必須使用簡單查詢,就是最好不要使用函數/join/group等方式查詢。而SQLServer的簡單查詢速度不如MySQL,但複雜查詢時,性能下降的很少,可見,SQLServer的查詢優化做的可能更好。
但你能夠經過針對性的表結構設計來避免MySQL進行復雜查詢(多冗餘,少關聯)
插入速度也很快。爲了提升性能,我甚至使用了不用日誌的方式,確實快,哪怕大量併發也沒問題。
對機器配置的要求
MySQL對機器配置要求不高(於SQLServer相比)。對於大表的ϖ做,一臺pd925/2Gram/sataII硬盤//linux2.6內核 的機器能夠輕鬆處理幾千萬條記錄的數據表。
而對於SQLServer,咱們使用了雙xeon5110/4Gram/raid10(6塊sataII硬盤)/win2000ADserver的機器,數據表也有幾千萬條記錄,結果負荷一高就崩潰了,很不穩定。
安全性
感受MySQL5+linux2.6的安全性高於win2ksp4+SQLServer2000sp4,MySQL漏洞少,咱們有一臺SQLServer,由於某些功能必須開放1433端口,雖然用了防火牆並做了安全配置,但仍是被黑了:
由於MySQL的安全配置比較透明簡單,權限明確,不易出漏洞。而SQLServer的用戶配置是和ϖ做系統綁定的,很容易出問題。此外因爲不是開源系統,1433端口暴露的安全問題誰也說不清,最好是將其徹底放入內網,其餘的都是扯淡。
可配置性
MySQL可配置性很好,基於文本文件,很細很清晰。而SQLServer的不少配置必須用特定的存儲過程完成,較複雜,不清晰(雖然基本配置很簡單,有圖形界面)
功能
這點MySQL與SQLServer確實無法比,如存儲過程/觸發器/豐富的函數/圖形化的管理界面/自動維護的計劃任務/與開發工具的集成等等
價格
這不用說了,一個免費,另外一個貴的嚇人
總結起來,SQLServer體現了ms產品的一向特色:容易上手,編程方便(SQLServer內置的查詢優化做的確實不錯,對於一些數據庫新手來講方便不少——即你沒必要對錶結構做過多優化也能獲得不錯的性能),所以倍受「攬活公司」(我是這麼稱那些開發Mis項目的公司的)的喜好,你徹底能夠集中注意力在應用的實現上,並且,小項目意味着小數據量,通常的服務器也能應對了;而大項目每每意味着大的數據量,好在通常預算也高,能夠選擇更高檔的服務器來伺候SQLServer。
但數據量大,而預算有限,那最好用MySQL,您辛苦點,多研究一下MySQL和Linux系統,表結構設計也最好找有MySQL經驗的人來作,作好了,可以獲得超出你想象力的效果。但若是隻能買低端服務器,而要用SQLServer處理大量數據,那就等死吧。