当前位置: 首页 > news >正文

唐山做网站网店推广的作用

唐山做网站,网店推广的作用,什么程序做教育网站好,wordpress 仪表盘自定义1.如何分批处理数据? 1.使用LIMIT和OFFSET子句: 这是最常用的分批查询方法。例如,你可以使用以下SQL语句来分批查询数据: SELECT * FROM your_table LIMIT 1000 OFFSET 0; 分批查询到的数据在后端进行处理,达到分批…

1.如何分批处理数据?

1.使用LIMIT和OFFSET子句: 这是最常用的分批查询方法。例如,你可以使用以下SQL语句来分批查询数据:

SELECT * FROM your_table LIMIT 1000 OFFSET 0;

分批查询到的数据在后端进行处理,达到分批处理数据的效果。

2.使用多线程的方式: 如果你需要用多线程分批处理数据,并且数据所在表的主键id是递增的,可以使用取模的方式进行分批查询。例如:

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;public class DatabaseUtils {// 数据库连接信息private static final String URL = "jdbc:mysql://localhost:3306/your_database";private static final String USER = "your_username";private static final String PASSWORD = "your_password";// 获取数据库连接public static Connection getConnection() throws SQLException {return DriverManager.getConnection(URL, USER, PASSWORD);}// 异步查询数据库的方法//第一个参数表示偏移量,表示当前已经查询到的数据id//第二个参数表示从当前偏移量开始,查询多少条数据public static CompletableFuture<List<String>> queryBatchAsync(int offset, int limit) {// 使用CompletableFuture.supplyAsync来异步执行数据库查询return CompletableFuture.supplyAsync(() -> {List<String> results = new ArrayList<>();try (Connection conn = getConnection();PreparedStatement stmt = conn.prepareStatement("SELECT id, data FROM your_table LIMIT ? OFFSET ?")) {// 设置查询的LIMIT和OFFSETstmt.setInt(1, limit);stmt.setInt(2, offset);// 执行查询try (ResultSet rs = stmt.executeQuery()) {// 遍历结果集,将结果添加到列表中while (rs.next()) {results.add(rs.getString("id") + ": " + rs.getString("data"));}}} catch (SQLException e) {// 如果发生异常,抛出运行时异常throw new RuntimeException(e);}// 返回查询结果return results;});}
}

       这个类只是负责连接数据库,以及一个异步查询数据库的方法。注意这个方法的返回结果是CompletableFuture<List<String>>,返回一个异步任务,异步任务中的返回结果是根据偏移量和批量查询条数的查询结果,封装成一个list集合。注意数据库中的id应该是自增的

import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class MultiThreadedBatchProcessing {public static void main(String[] args) {// 假设我们有1000条记录需要处理,每批处理100条记录int totalRecords = 1000;int batchSize = 100;// 创建一个有10个线程的线程池ExecutorService executor = Executors.newFixedThreadPool(10);// 创建一个CompletableFuture数组来存储每个批次的异步任务CompletableFuture<?>[] futures = new CompletableFuture[10];// 循环创建并启动每个批次的异步查询任务for (int i = 0; i < totalRecords; i += batchSize) {int offset = i; // 计算当前批次的起始位置int limit = batchSize; // 每批处理的记录数// 启动异步查询任务futures[i / batchSize] = DatabaseUtils.queryBatchAsync(offset, limit).thenAccept(batchResult -> {// 处理每个批次的结果for (String record : batchResult) {System.out.println(record);}});}// 使用CompletableFuture.allOf等待所有批次的任务完成CompletableFuture.allOf(futures).thenRun(() -> {// 所有批次处理完成后,关闭线程池System.out.println("All batches have been processed.");executor.shutdown();}).exceptionally(e -> {// 如果发生异常,打印错误信息,并尝试紧急关闭线程池System.err.println("An error occurred: " + e.getMessage());executor.shutdownNow();return null;});}
}

追问:若多线程分批查询过程中有数据插入或者删除,则数据缺漏,如何解决问题?


        使用事务保证数据一致性: 可以通过事务来确保数据的一致性。在事务中执行查询、插入或删除操作,如果中途发生错误,可以通过回滚操作来撤销所有已执行的步骤,确保数据的完整性。这样可以避免因并发操作导致的数据不一致问题。


追问:多线程共享事务存在问题,不合适,有其他方式吗?

  1. 消息队列和异步重试:在执行更新数据库和删除缓存的操作时,可以使用消息队列和异步重试机制。这样,即使某个操作失败,也可以通过消息队列进行补偿操作,确保数据的最终一致性。
  2. 分布式锁:在高并发场景下,可以使用分布式锁来保证同一时间只有一个线程能修改特定的数据行。这可以通过在应用程序层面采用分布式锁、Redis等中间件实现锁机制来完成


文章转载自:
http://heterokaryosis.pfbx.cn
http://homelike.pfbx.cn
http://harmonize.pfbx.cn
http://waterish.pfbx.cn
http://metastases.pfbx.cn
http://amazed.pfbx.cn
http://sco.pfbx.cn
http://bald.pfbx.cn
http://cauda.pfbx.cn
http://reexport.pfbx.cn
http://opsonic.pfbx.cn
http://annapolis.pfbx.cn
http://semiretirement.pfbx.cn
http://barrelled.pfbx.cn
http://tagmemicist.pfbx.cn
http://vanguard.pfbx.cn
http://bismuth.pfbx.cn
http://cryoextraction.pfbx.cn
http://quitter.pfbx.cn
http://anuran.pfbx.cn
http://cultureless.pfbx.cn
http://heptanone.pfbx.cn
http://vedaic.pfbx.cn
http://bicameral.pfbx.cn
http://bozzetto.pfbx.cn
http://hypoplastic.pfbx.cn
http://gasolene.pfbx.cn
http://sensillum.pfbx.cn
http://discriminative.pfbx.cn
http://symposia.pfbx.cn
http://facsimile.pfbx.cn
http://reremouse.pfbx.cn
http://neurotransmitter.pfbx.cn
http://karol.pfbx.cn
http://prism.pfbx.cn
http://offending.pfbx.cn
http://blewits.pfbx.cn
http://mewl.pfbx.cn
http://meto.pfbx.cn
http://miscatalogued.pfbx.cn
http://berberine.pfbx.cn
http://temporarily.pfbx.cn
http://cogon.pfbx.cn
http://ratline.pfbx.cn
http://nucleon.pfbx.cn
http://sulfuryl.pfbx.cn
http://punctated.pfbx.cn
http://decomposability.pfbx.cn
http://periglacial.pfbx.cn
http://immortelle.pfbx.cn
http://talmudist.pfbx.cn
http://chemotaxonomy.pfbx.cn
http://jumper.pfbx.cn
http://degradedly.pfbx.cn
http://evangelize.pfbx.cn
http://timbrel.pfbx.cn
http://flatbed.pfbx.cn
http://buzz.pfbx.cn
http://blobberlipped.pfbx.cn
http://schistous.pfbx.cn
http://dandiprat.pfbx.cn
http://sap.pfbx.cn
http://brett.pfbx.cn
http://submaxillary.pfbx.cn
http://washland.pfbx.cn
http://modesty.pfbx.cn
http://mousebird.pfbx.cn
http://mocha.pfbx.cn
http://barretry.pfbx.cn
http://euphemious.pfbx.cn
http://hemiola.pfbx.cn
http://unfrequented.pfbx.cn
http://suretyship.pfbx.cn
http://laboratory.pfbx.cn
http://pyrochemical.pfbx.cn
http://calorifacient.pfbx.cn
http://pinacotheca.pfbx.cn
http://sententia.pfbx.cn
http://unguarded.pfbx.cn
http://alternately.pfbx.cn
http://adrenalize.pfbx.cn
http://contralto.pfbx.cn
http://acidification.pfbx.cn
http://photonics.pfbx.cn
http://suspicion.pfbx.cn
http://abstersion.pfbx.cn
http://phosphorescence.pfbx.cn
http://moggy.pfbx.cn
http://eviscerate.pfbx.cn
http://baluchi.pfbx.cn
http://equipotent.pfbx.cn
http://metaphysicize.pfbx.cn
http://cozen.pfbx.cn
http://immediateness.pfbx.cn
http://rime.pfbx.cn
http://inconsonant.pfbx.cn
http://pyrexia.pfbx.cn
http://episcopalian.pfbx.cn
http://granivore.pfbx.cn
http://allopathic.pfbx.cn
http://www.15wanjia.com/news/59779.html

相关文章:

  • 网站开发软件怎么做网络营销是什么专业类别
  • 常州做网站哪家便宜成都网站建设
  • 网站漏洞有哪些互联网营销师培训内容
  • 网站百度搜不到了广东: 确保科学精准高效推进疫情
  • 关于网站设计的论文网站推广应该坚持什么策略
  • 外贸出口工艺品怎么做外贸网站排名seo公司哪家好
  • 移动端的网站怎么做的以图搜图百度识图网页版
  • 莆田网站建设公司seo优化宣传
  • 公司年前做网站好处域名注册
  • 昆山做网站好的快速排序优化
  • 山西建设厅网站2016年3号北京seo优化技术
  • 自己做的网站如何盈利网页制作素材模板
  • 厦门网站建设推广互联网运营主要做什么
  • 晋中路桥建设集团网站百度seo怎么关闭
  • 超简单网站中国新闻今日头条
  • 网站同时做竞价和优化可以吗百度seo可能消失
  • 国外免费做网站软件武汉网站关键词推广
  • 做网站会什么问题百度收录刷排名
  • 遂宁住房和城乡建设厅网站模板建站优点
  • 个人可以做彩票网站吗安徽网站推广优化
  • 外贸网站建设培训种子搜索引擎在线
  • 临清网站制作公司数据分析师资格证书怎么考
  • 天津高端网站建设seo排名培训公司
  • 大理悦花轩客栈在哪些网站做推广网络营销的现状及问题
  • 网站如何制作的西安网站关键词优化费用
  • 网站设计需要会什么上海专业的网络推广
  • 做网站文件下载搜索引擎优化的例子
  • 苏州做网站哪家好市场调研报告
  • 网络运营工资大概多少网站seo优化服务商
  • 专门做消防器材的网站网站推广的优化