- 高性能Java架構(gòu):核心原理與案例實(shí)戰(zhàn)
- 張方興編著
- 367字
- 2021-10-15 18:26:08
2.2 問(wèn)題分析與解決方案
當(dāng)通過(guò)Java、C#、Python等語(yǔ)言對(duì)MySQL進(jìn)行操作時(shí),不僅有語(yǔ)言自身的消耗,還有語(yǔ)言和數(shù)據(jù)庫(kù)連接的消耗,所以當(dāng)想要為數(shù)據(jù)庫(kù)增加大量數(shù)據(jù)時(shí),建議通過(guò)中間件或計(jì)算機(jī)系統(tǒng)對(duì)其增加數(shù)據(jù)量,切勿通過(guò)語(yǔ)言連接的方式。
另外,在執(zhí)行時(shí)應(yīng)盡可能減少事務(wù)、鏈表等相應(yīng)情況,即減少一切損失執(zhí)行速度的可能性,這樣便可用最快的速度填充整個(gè)數(shù)據(jù)庫(kù)。例如,在程序設(shè)計(jì)上,Redisson通過(guò)Lua腳本的方式控制Redis,將每一頁(yè)的Lua腳本交由Redis自身,而非使用Jedis連接的方式來(lái)解決,所以Redisson的性能一向優(yōu)良。
我們分別通過(guò)INSERT INTO SELECT、存儲(chǔ)過(guò)程和Loadfile三種方案為MySQL快速填充億級(jí)數(shù)據(jù)。其中,INSERT INTO SELECT方案是MySQL提供的SQL語(yǔ)句,而SQL語(yǔ)句可直接在MySQL內(nèi)執(zhí)行,所以速度更快。存儲(chǔ)過(guò)程方案可減少事務(wù)提交次數(shù),并且可以增加包含邏輯結(jié)構(gòu)的數(shù)據(jù),以快速填充數(shù)據(jù)庫(kù)。Loadfile方案可將外置資源文件導(dǎo)入數(shù)據(jù)庫(kù),通過(guò)數(shù)據(jù)遷移的方式快速填充數(shù)據(jù)庫(kù)。
- LabVIEW程序設(shè)計(jì)基礎(chǔ)與應(yīng)用
- ASP.NET Core 5.0開(kāi)發(fā)入門與實(shí)戰(zhàn)
- Machine Learning with R Cookbook(Second Edition)
- 深入理解Java7:核心技術(shù)與最佳實(shí)踐
- WebRTC技術(shù)詳解:從0到1構(gòu)建多人視頻會(huì)議系統(tǒng)
- 深入分布式緩存:從原理到實(shí)踐
- 從Java到Web程序設(shè)計(jì)教程
- Android玩家必備
- Python+Tableau數(shù)據(jù)可視化之美
- 基于SpringBoot實(shí)現(xiàn):Java分布式中間件開(kāi)發(fā)入門與實(shí)戰(zhàn)
- Python程序設(shè)計(jì)與算法基礎(chǔ)教程(第2版)(微課版)
- 大數(shù)據(jù)時(shí)代的企業(yè)升級(jí)之道(全3冊(cè))
- Using Yocto Project with BeagleBone Black
- Dart:Scalable Application Development
- Java EE基礎(chǔ)實(shí)用教程