• 朱晓峰
    置顶
    2021-05-20
    你好,我是朱晓峰,下面我就来公布一下上节课思考题的答案: 上节课,我们学习了ER模型。下面是思考题的答案: 实体: 1. 门店 2. 员工 3. 仓库 4. 商品 1对多的关系: 1. 门店与仓库的拥有关系 2. 门店与员工的雇佣关系 多对对的关系: 1. 仓库和商品的库存关系 2. 员工、仓库和商品的盘点关系 属性 门店:编号、名称、地址、电话、联系人 员工:编号、名称、工号、身份证、电话、地址 仓库:编号、名称 商品:编号、条码、名称、售价、规格、单位 库存关系:库存数量 盘点关系:盘存数量、结存数量、盈亏数量
    
    3
  • giteebravo
    2021-05-08
    以前查看执行计划只知道使用 explain 今次知道了 describe 语句也能达到同样效果! 此外,还学习了在使用关键字 LIKE 和 OR 的情况下,用索引来提高查询效率的具体方法。 最后有两个疑问: 1. 任何时候子查询的执行效率都不如连接查询吗?那么子查询的出现,是为了解决什么样的问题呢? 2. 对于特别复杂的查询,尤其动辄使用临时表去实现一些报表查询的需求时,该怎么去分析其查询语句呢?

    作者回复: 子查询可以解决一些复杂的查询问题。遇到特别复杂的查询,需要用临时表通过多个步骤最终得到结果的场景,可以通过分析每个步骤的查询语句,还有临时表的数据量,来决定优化策略

    
    2
  • 代方洋
    2021-07-09
    mysql的优化器是基于什么决定执行计划的?如果一个表有一个索引,查询语句只查这个字段where条件中是这个字段like '%hh'这样也不走索引吗? 例如:表 Tab 有存在索引idx1:col。执行 select col from Tab where col like '%hh';这样也不走索引吗? 我觉得在快速索性全扫描会比全表扫描更快啊。

    作者回复: 索引的目的,是快速定位记录,如果无法快速定位,索引就失去了意义,因为需要回表,不如直接遍历。

    
    1
  • SharpBB
    2022-02-15
    select * from demo.trans t1 left join demo.goodsmaster t2 on t1.itemnumber=t2.itemnumber where t2.goodsname like '%书%';

    作者回复: 请参考思考题答案

    
    
  • 沈康
    2021-05-22
    select a.* from demo.trans a,demo.goodsmaster b where a.itemnumber=b.itemnumber and b.goodsname LIKE '%书%';

    作者回复: 请参考思考题答案

    
    
  • floating
    2021-05-13
    课后思考题: SELECT * FROM demo.trans t join demo.goods g on t.itemnumber = g.itemnumber WHERE goodsname LIKE '%书%';

    作者回复: 请参考思考题答案

    
    