数据库系列课程(09)-Sharding-Jdbc日志分析

Sharding-JDBC中的路由结果是通过分片字段和分片方法来确定的。

  • 如果查询条件中有 id 字段的情况还好,查询将会落到某个具体的分片。
  • 如果查询没有分片的字段,会向所有的db或者是表都会查询一遍,让后封装结果级给客户端。

Sharding-Jdbc和MyCat查询原理大致相同:
在这里插入图片描述
示例代码:

public interface OrderRepository extends CrudRepository<OrderEntity, Long> {
	@Query(value = "SELECT order_id ,user_id  FROM t_order  where order_id in (?1);", nativeQuery = true)
	public List<OrderEntity> findExpiredOrderState(List<String> bpIds);

	@Query(value = "SELECT order_id ,user_id  FROM t_order  where user_id=:userId ", nativeQuery = true)
	public List<OrderEntity> findByUserId(@Param("userId") Long userId);
发布了2618 篇原创文章 · 获赞 4883 · 访问量 39万+

猜你喜欢

转载自blog.csdn.net/qq_20042935/article/details/103699759
今日推荐