码农知识堂 - 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 的字段两表的字段类型要相同

  • 相关阅读:
    排序算法:归并排序(递归和非递归)
    # 从浅入深 学习 SpringCloud 微服务架构(三)注册中心 Eureka(3)
    Webpack中的Loader和Plugin:理解与使用
    基于ssm框架的校园订餐系统设计与实现毕业设计源码270912
    结构模式匹配(Structural Pattern Matching)(一)匹配序列
    springboot整合Excel填充数据
    51单片机LED8*8点阵显示坤坤跳舞打篮球画面
    LeetCode_494_目标和
    ChatGPT全球最大开源平替OpenAssistant:基于Pythia和LLaMA微调而来
    LeetCode:第304场周赛【总结】
  • 原文地址:https://blog.csdn.net/stone_tomcate/article/details/126060609
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号