Java Cassandra Sync和Async,哪一个返回结果集更快?
我正在对卡桑德拉做一些测试。该案例描述如下:Java Cassandra Sync和Async,哪一个返回结果集更快?,java,cassandra,driver,datastax,Java,Cassandra,Driver,Datastax,我正在对卡桑德拉做一些测试。该案例描述如下: 先决条件:1个Cassandra服务器,一个具有复杂主键(username,id)的表,选择查询如下:“select*from table_name where username='abc';结果集是16行的集合 案例1:在DevCenter上执行查询,需要1676毫秒才能完成 案例2:使用“session.execute(statement)”在Java驱动程序上同步执行查询,需要441毫秒完成 案例3:使用中介绍的异步解决方案在Java驱动程序
- 先决条件:1个Cassandra服务器,一个具有复杂主键(username,id)的表,选择查询如下:“select*from table_name where username='abc';结果集是16行的集合
- 案例1:在DevCenter上执行查询,需要1676毫秒才能完成
- 案例2:使用“session.execute(statement)”在Java驱动程序上同步执行查询,需要441毫秒完成
- 案例3:使用中介绍的异步解决方案在Java驱动程序上执行查询,需要1121毫秒才能完成
有人告诉我在什么情况下同步/异步更快吗?我想说的是,同步/异步方法不是关于更快或更慢,而是关于客户端的资源利用率。异步-对于长时间运行的查询没有长时间阻塞。同步-阻塞,但是对于快速查询来说可以很好。异步方法可能会更有效要求使用其他编程技术(未来、回调…),在某些编程语言中,它在本机上比在其他语言中得到更好的支持。仅对一个查询使用异步方法是没有价值的,但它将为大量查询提供性能提升,因为您的代码不会等待前一个查询执行下一个查询