字體:小 中 大 | |
|
|
2014/06/17 10:58:07瀏覽4445|回應4|推薦16 | |
一方面是好奇,一方面因為未來有個案子的合作或許會用到,所以專程寫了一個小程式來測試.
使用了同一台主機,同一支程式, 同樣都採用基本設定,只在第一個欄位加上索引.
沒做任何資料庫最佳化等的微調設定,用最簡單的環境來測試兩千萬筆紀錄,試試看效能如何.
這程式原打算再在加上:
*.access php有支援但之前實作過幾個案子(ASP跟PHP跟VB),幾萬筆她就像烏龜一樣了,而且無法多工.
*.sqlite 因為一直沒找到跟我主機裡 php 相容的 php_sqlite.dll,所以無法用php 連它.
以上兩種,其實與本次測試主題也不符,它們主要是簡單,小巧易用為主,尤其是 sqlite ,
嘿嘿...它可真的帥了,麻雀雖小五臟俱全. 有太多的應用都使用它,手機,單機,機上盒,,,,
大多應用在,需要資料庫又不適合架 server 的需求時,首選真的是非它莫屬.
但她們都不適合大量且複雜資料用(例如幾百萬,幾千萬筆,甚至幾億筆資料),所以加上了也沒實質意義.因此作罷.
*.至於 oracle,PostgreSQL 當然非常夠資格與 mysql 或是 mssql 相抗衡,
之前有幾個案子我也實際使用過,上游公司架好的開發環境,效能與功能也都不差,
無奈...我主機沒裝且完全沒用到的機會.所以也就沒加上了.
因為我有蠻多asp舊埕式,暫時不適合也不想升級到2005以上版本,要費太多時間去改一下舊埕式,
所以目前用的是 sql server 2000 作測試.
它的SQL分頁(下端的翻頁)功能是無效的,2005 以後版本它才有支援它自家發明的[投機取巧不正規的技巧]
來達成SQL分頁功能.(需要落落長指令跟子查詢合用)
mysql 跟其它 sql 這方面都沒問題. 只要後墜 limit 或是 offset 即可達成sql分頁的功能.
我測試結果大致如此:
mysql 不設條件時, 0.002~0.004 秒
mysql 設等於[=]的條件時, 0.002~0.004 秒
mysql 設包含[LIKE]的條件時, 11 秒
sql server 2000 不設條件時, 1~3 秒
sql server 2000 設等於[=]的條件時, 0.007~1 秒,飄很大
sql server 2000 設包含[LIKE]的條件時, 5~7 秒 ,飄很大,
實驗結果 sql server 2000 LIKE 普遍都比 mysql 快,只是常常會跑到 sql server 掛點,
過一兩分鐘又自動恢復
有興趣的人可以到這邊實際測試看看效能差異.
http://www.our-program.com.tw/taka/demo/sql_2000_test.php
|
|
( 興趣嗜好|電腦3C ) |