码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MYSQL常见优化一


    负向查询不能使用索引

    select name from user where id not in (1,3,4);
    

    应该修改为: in

    1

    ¶ 前导模糊查询不能使用索引

    select name from user where name like '%zhangsan'
    

    like 'zhangsan%'

    ¶ 数据区分不明显的不建议创建索引

    如 user 表中的性别字段,可以明显区分的才建议创建索引,如身份证等字段。

    字段的默认值不要为 null

    这样会带来和预期不一致的查询结果。

    在字段上进行计算不能命中索引

    select name from user where FROM_UNIXTIME(create_time) < CURDATE();
    

    应该修改为:

    select name from user where create_time < FROM_UNIXTIME(CURDATE());
    

    ¶ 最左前缀问题

    如果给 user 表中的 username pwd 字段创建了复合索引那么使用以下SQL 都是可以命中索引:

    1. select username from user where username='zhangsan' and pwd ='axsedf1sd'
    2. select username from user where pwd ='axsedf1sd' and username='zhangsan'
    3. select username from user where username='zhangsan'

    但是使用

    select username from user where pwd ='axsedf1sd'
    

    是不能命中索引的。

    如果明确知道只有一条记录返回

    select name from user where username='zhangsan' limit 1
    

    可以提高效率,可以让数据库停止游标移动。

    不要让数据库帮我们做强制类型转换

    select name from user where telno=18722222222
    

    这样虽然可以查出数据,但是会导致全表扫描。

    需要修改为

    select name from user where telno='18722222222'
    

     如果需要进行 join 的字段两表的字段类型要相同

  • 相关阅读:
    网工内推 | 深圳网工专场,上市公司、国企,安全认证优先
    Layui快速入门之第九节 表格事件的使用
    华为OD机试 - 数字反转打印(Java 2023 B卷 100分)
    Android系统启动流程
    Vuex入门
    java基于springboot游乐场员工管理系统
    QT模态窗口与非模态窗口
    【刷题篇】回溯算法(广度优先搜索(一))
    开源的房地产行业营销拓客系统,值得推荐!
    .NET6 + EF Core + MySQL 创建实体和数据库、EFCore 数据迁移
  • 原文地址:https://blog.csdn.net/stone_tomcate/article/details/126060609
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号