php系統有時候顯示不到任何記錄

2008-05-22 12:21 am
各位朋友:

我建立了一個php系統,用來搜尋和顯示資料的

可是mssql資料庫內已有超過十多萬的資料.
有時候,當我在搜尋頁面上按 "查詢" 按鈕時,
要等很久....結果顯示不到任何記錄
可是當我再按 多一次 "查詢" 按鈕後才可以見到搜尋結果
我的php系統搜尋資料的速度有時快有時慢.

希望你們可以幫我解決這問題
謝謝!

回答 (2)

2008-05-22 12:59 am
✔ 最佳答案
其實這亦關乎sql問題了, 一下子拿成千萬隻record, 當db尚未執行過該sql的話, 它要由db再一次由硬盤重新上載至記憶體, 這會花多很多時間的, 而你再refresh時, 因記憶體已有, 便會快很多.

若一些常註的sql, 建議建立view, 及是否必要, 每次都要拿那麼多資料呢???


2008-05-22 00:26:05 補充:
正如多多里奧所言甚是, 若你的where clause內, 來來去去都是幾個value, 你應用cluster作為index, 若是其它的, 便一般的index便可 (裡面多是b-tree index). 另外, 定期應rebuild index
2008-05-22 6:05 am
如果您的 sql 內有 where clause 的話, 可以考慮加一個 index 於 where clause 會用到的 field 上, 令 mssql 可以靠 index 搜尋紀錄, 從而減少搜尋所需的時間.


收錄日期: 2021-04-23 17:54:53
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20080521000051KK01339

檢視 Wayback Machine 備份