• 我行我素
    2019-08-09
    4. 当我们使用 LIKE 进行模糊查询的时候,应该是前面不能是 % 吧

    作者回复: 对 LIKE '%X' 会让索引失效

     2
     17
  • wusiration
    2019-08-09
    索引失效,因为使用了date函数。改成SELECT comment_id, comment_text, comment_time FROM product_comment WHERE comment_time BETWEEN DATE('2018-10-01 10:00:00') AND DATE('2018-10-02 10:00:00')

    作者回复: Good Job

     2
     12
  • 梦想天空
    2019-08-10
    老师 您好。使用selet * from T where a<4 or a=9; a有索引,但还是全盘扫描,不知道什么原因
     4
     3
  • Yuhui
    2019-09-19
    老师您好!请教一下如何查找“不经常使用的“索引呢?谢谢!

    作者回复: 你可以查看下MySQL中的performance_schema.table_io_waits_summary_by_index_usage数据表,它表明了每个索引进行统计的I/O等待事件,其中COUNT_STAR代表了事件的次数。过滤掉一些系统表,查看下数据表中有哪些索引不经常使用,具体的SQL语句:SELECT OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME,COUNT_STAR FROM performance_schema.table_io_waits_summary_by_index_usage
    WHERE INDEX_NAME IS NOT NULL
    AND COUNT_STAR = 0
    AND OBJECT_SCHEMA != 'mysql' AND OBJECT_SCHEMA != 'performance_schema'

    
     2
  • 佚花
    2019-08-21
    关于like.
    %在左边,即使有索引,也会失效.
    只有当%在右边时,才会生效

    作者回复: 对的 如果%在左侧就是前模糊匹配,有索引也会失效。所以字符串进行匹配的时候,需要最左侧是个明确的字符才能使用上索引。

    
     2
  • 黑山老妖
    2019-08-10
    老师 SELECT user_id, count(*) as num FROM product_comment group by user_id order by comment_time desc limit 100
    这个例子中 对(comment_time,user_id)进行索引 ,老师不是说按照最左原则,索引会失效嘛 为什么还是会起作用,望老师解答 :)
     7
     2
  • haer
    2019-08-09
    索引失效,因为使用了date函数

    作者回复: 对的

    
     2
  • Vackine
    2019-08-09
    关于关系型数据库模型介绍的论文,老师有推荐的么✨

    作者回复: 一本经典的书《Towards a Logical Reconstruction of Relational Database Theory》
    另外关系型数据库里面也有不同的使用场景,比如关于图像检索的
    《Chabot: Retrieval from a Relational Database of Images》
    查询XML的:
    《Storing and querying ordered XML using a relational database system》

    
     2
  • 悟空
    2019-08-13
    老师,今天文章中的“product_comment”表结构和数据,是从哪里导入的呢?

    个人感觉,本课程用到的所有表都可以放到一个统一的地方,比如之前的 GitHub上面,方便我们统一下载。

    作者回复: 因为文件大于100M,就先放到百度网盘:https://pan.baidu.com/s/1LBEAm50DDP9AjErLtGplLg
    提取码:32ep
    多谢建议,我把它也放到GitHub上,大于100M的给出百度网盘的链接

    
     1
  • ABC
    2019-08-09
    索引会失效,因为使用了date函数。

    如果修改的话,可以用between和and,对查询条件进行转换。

    例如:currtime between date('2018-01-10 10:00:00) and date('2018-02-10 12:00:00')

    手机回复,没有实际运行,如有错误请老师指正,谢谢
    展开

    作者回复: Good Job

    
     1
  • niemo
    2019-08-09
    老师 您好,sql条件执行顺序不是从右到左么?所有在使用联合索引的时候,把最左的索引写在where条件的最右边,这样理解对么?

    作者回复: SQL执行顺序:
    SELECT DISTINCT player_id, player_name, count(*) as num #顺序5
    FROM player JOIN team ON player.team_id = team.team_id #顺序1
    WHERE height > 1.80 #顺序2
    GROUP BY player.team_id #顺序3
    HAVING num > 2 #顺序4
    ORDER BY num DESC #顺序6
    LIMIT 2 #顺序7

    
     1
  • 绿鲤鱼与驴。
    2020-01-27
    使用了date函数,所以失效
    
    
  • 绿鲤鱼与驴。
    2020-01-27
    陈老师好,我对本篇
    “我们要尽可能扩展索引,而不是新建索引” 这句话不太理解

    如何扩展索引
    
    
  • rike
    2019-12-30
    “WHERE 条件(包括 GROUP BY、ORDER BY)里用不到的字段不需要创建索引”,这句话应该应该改为查询结果里的字段不需要创建索引。
    
    
  • rike
    2019-12-27
    “按照 user_id 进行评论分组,同时按照评论时间降序的方式进行排序”,执行对应的sql后,报错。望大神验证一下,不要误导付费学习的读者。
    
    
  • taoist
    2019-12-24
    索引会失效,因为对索引字段进行函数操作。

    SELECT comment_id, comment_text, comment_time FROM product_comment WHERE comment_time >= DATE('2018-10-01 10:00:00') AND comment_time <= DATE('2018-10-02 10:00:00')
    
    
  • 旅途
    2019-12-24
    这节专栏我想背下来,干货太多了

    作者回复: 哈哈 谢谢旅途同学 Fighting~

    
    
  • Hash
    2019-12-22
    索引会失效的!
    原因——
    在上述的那条查询语句中使用了Date()函数,所以索引会失效,

    最终需要改为
    SELECT comment_id, comment_text, comment_time FROM product_comment WHERE comment_time BETWEEN DATE('2018-10-01 10:00:00') AND DATE('2018-10-02 10:00:00')
    展开

    作者回复: 对的 说明的不错

    
    
  • 卡布
    2019-12-04
    KLOOK校招面试的时候就问了索引,那时候对索引一概不通,这回得在专栏补回来。

    作者回复: 加油卡布

    
    
  • 抢小孩子糖吃
    2019-11-23
    老师 如果我们给女儿国的性别加上了索引 我们查看男性的话会快很多
    但如果我们有时需要查看男性 有时需要查看女性 还适合在性别上建索引吗
    查看女性的时候优化器会选择用这个索引找数据吗

    作者回复: 这个看需求,对于某个疾病(发病率很低)的正样本,可以选择创建索引。如果性别男女都需要查看,可以不建索引,对于女性,优化器也不会使用索引进行查找。

    
    
我们在线,来聊聊吧