優化方向:sql語句優化、索引、分表...
sql語句優化
1、不要返回用不到的資料
select * from `shop_user`
=>select `id`,`username` from `shop_user`
2、where 跟 order by 是搜尋的關鍵,避免全表掃瞄。
考慮在對應的列上建立索引;
where 語句中不要使用 != 或 <>操作符
避免列出現null值的判斷:select `id` from `shop_user` where `login_time` is null,建議可以給
login_time 字段設定預設值為 0 ,將sql語句修改為 select `id` from `shop_user` where `login_time`= 0
避免使用 or 來做連線查詢:select `id` from`shop_user` where `id`=1 or `id`=2 ,建議修改為
select id from shop_user where id =1
union all
select id from
shop_user where id =2
in 跟 not in慎用(網上很多人說 in 不走索引,不知真假)
between
優化 select id from
shop_user where id
between 1 and 3 修改為select id from
shop_user where id>= 1 id <= 3
like欄位慎用
大資料從百萬級別資料的分析角度,資料庫如何選擇?
現在需要做乙個資料儲存,500w左右的資料,日後每天大約產生5w條左右的資料。想把這些資料儲存起來,供日後的資料分析用?使用上面說的三種資料庫中的哪中比較好?是否有必要建立集群?個人看法是 從長遠角度看,由於單台機器的效能瓶頸,後期肯定要做集群,單純的做複製最終也無法緩解單台master上讀的負擔。...
MYSQL資料庫超大級別資料讀
場景 當資料量達到一定千萬級別的記錄,且查詢的字段又多的時候,此時將查詢資料的快取全部儲存在php的記憶體當中會導致記憶體溢位。資料庫查詢 pdo setattribute pdo mysql attr use buffered query,false startmemory memory get ...
JAVA使用POI如何匯出百萬級別資料
經常使用excel的人應該都能知道excel2007及以上版本可以輕鬆實現儲存百萬級別的資料,但是系統中的大量資料如何能夠快速準確的匯入到excel中這好像是個難題,對於一般的web系統,我們為了解決成本,基本都是使用的入門級web伺服器tomcat,jdk在32為系統中支援的記憶體不能超過2個g,...