SQL語句: 查詢功能 數據量是4000萬條 如何每次的查詢時間不能超過5秒?
建索引並優化查詢語句後,如還無法達到效果,就分庫分表多主機並行查詢,或者使用MPP類資料庫
目前的查詢時間是多少秒?每次執行查詢時候的運行時間差別會很大麼?能否給一下數據結構以及目前的查詢語句看看
首先,你的提問有點籠統,具體的問題還要具體分析的。
可以先通過explain執行計劃,進行一波sql優化,該加索引的加索引,該優化sql語句的優化sql語句,關於優化sql語句的語法,網上有很多的,隨便搜一下就很多。
關於explain關鍵詞,如果之前沒有接觸過的話,可以瞭解學習一下,對於優化sql來說,還是很有用的。
補充一點,加太多索引,也不是一個很好的選擇,具體問題還要合理衡量利弊後再決定。
因為加太多索引的話,對於插入更新操作的效率會降低,所以,索引這個東西也是有利有弊的。
每次查的多就分頁查詢。
4000萬條=40,000,000*1KB=40GB。內存肯定裝不下,除了分頁查詢應該沒有任何查詢能5秒查出來。
我只會建索引啊哈哈哈,看查啥,咋查,優化sql
優化你的sql語句
首先不要直接查*;關聯查詢的話最好不要用or;如無必要也最好不要用order by;可以看看你這個是不是用到了外連接,是的話建議用union試下哈
更多的sql語句優化方法,建議度娘找找……
推薦閱讀: