其他分享
首页 > 其他分享> > 查询购物车列表时的索引

查询购物车列表时的索引

作者:互联网

查询购物车记录接口,需要购物车列表(购物车信息)商品表(商品的信息比如商品的名称)套餐表(套餐的名称,套餐的价格,套餐的具体内容)商品图片表(商品图片)

{
  "code": 10000,
  "msg": "success",
  "data": [
    {
      "cartId": 76,
      "productId": "1",
      "skuId": "3",
      "userId": "7",
      "cartNum": "1",
      "cartTime": null,
      "productPrice": 8,
      "skuProps": "口味:草莓;",
      "productName": "奥利奥小饼干",
      "url": "ala_1.png",
      "originalPrice": 10,
      "sellPrice": 8,
      "skuName": "奥奥奥分享装",
      "stock": 147
    }
  ]
}

而原本的购物车实体类是没有商品信息这些东西的,只有商品的id,所以需要新建购物车实体类

实体类

dao->mapper

这里做了一个索引优化

ALTER TABLE shopping_cart ADD INDEX c_all(cart_id,product_id,sku_id,user_id,cart_num,cart_time,product_price,sku_props)
ALTER TABLE product_img ADD INDEX itemidx (item_id)

这里是要查询购物车列表的全部字段,所以全部字段都需要建立索引,productId是商品表的主键,主键自动建立唯一索引,skuId是套餐表的主键,但是item_id并不是图片表的主键,所以要建立索引

选择购物车列表数据提交订单时,可以用同一个索引

SELECT c.cart_id ,c.product_id ,c.sku_id,
               c.user_id,c.cart_num ,c.cart_time,c.product_price,
               c.sku_props,s.original_price,s.sell_price,s.sku_name,
               p.product_name,i.url,s.stock
        FROM shopping_cart c
        INNER JOIN product p
        INNER JOIN product_img i
        INNER JOIN product_sku s
        ON s.sku_id=c.sku_id
        AND p.product_id=c.product_id
        AND i.item_id=c.product_id
        WHERE i.is_main=1 AND c.cart_id IN(76,77)

标签:sku,product,cart,列表,索引,购物车,id
来源: https://www.cnblogs.com/swifties270/p/16106398.html