千家信息网

SQL开发规范中的有哪些误区

发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章主要介绍"SQL开发规范中的有哪些误区",在日常操作中,相信很多人在SQL开发规范中的有哪些误区问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"SQL开发规范中的
千家信息网最后更新 2025年11月14日SQL开发规范中的有哪些误区

这篇文章主要介绍"SQL开发规范中的有哪些误区",在日常操作中,相信很多人在SQL开发规范中的有哪些误区问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"SQL开发规范中的有哪些误区"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1、假设一个表同时有两个索引,idx_int_c1,idx_varchar_c2在:select*from tb where c1=100000 or c2='zhishutang';这个SQL会用到哪个索引?为什么?

大多数人都会选择第一个。其实选择任何一个索引都是错误的。大多数企业都会基于CPU,或者说基于成本优化。如果按照c1来算,两个条件同时满足,它会选择靠前的;如果只能满足一个,它会选择最优的,这是成本优化最核心的原理,选择最适合的状态。从成本优化的角度,应该谁处于空闲,谁就去工作。不一定是运程最快,最重要的是合适。

2、还有,如何判断SQL运行的时候,哪个最好。

比如上图中:一个是不加limit,一个是加了limit,如果整体时间都在1S以下,哪一个最好?很多人会说,肯定是加了limit的好。但是,如何证明?

在优化之前,在终端上做下状态刷新,分别执行这两个SQL。然后对比数据。比如第一个SQL之前是1个Key,后来读了17次。而第二个SQL是从1个Key开始读了4次。这说明第二个动作少,效果更好。所以,判断一个SQL好还是坏,是可以量化的。

3、另外是关于delete优化的问题。之前,有一个人求助,说一个delete语句执行了2个多小时了,还没执行完,能不能把这个SQL回滚?答案是不能,如果你直接回滚,会死得更惨。

评价一个SQL能不能回滚,或者说进行到什么程度?大家都有同样一个感受是,有一个进度条该多好。但事实是,SQL没有。有很多人很暴力,遇到这种情况会直接重启。不重启会卡死,因为它阻塞了后面的任务,SQL不能查询。

笔者建议不要暴力重启,先执行一个"show engine innodb status\G"语句,这样能看到执行时间。如果没有运行状态,就可以Kill掉。

到此,关于"SQL开发规范中的有哪些误区"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

选择 误区 开发 学习 两个 成本 状态 索引 同时 时间 暴力 更多 最好 语句 问题 帮助 运行 合适 最快 重要 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 虚拟服务器与虚拟系统的区别 图片存进数据库的方式是流 崇明区数据软件开发直销价格 排位为什么一直无法连接服务器 黑龙江省游戏软件开发 服务器防护哪家比较专业 寒假网络安全课程手抄报 百度网络安全管理系统 navicat查看数据库地址 广州信升互联网科技有限公司 关于网络安全学校应该怎么做 国家网络安全主题的内容 扫描修改数据库代码 魔兽世界9.0数据库app vrd网络技术 数据库管理流程图 如何提升软件开发工作效率 介绍数据库技术发展的短视频 sqlstate是什么数据库 银川灵武企业管控软件开发公司 数据库中的行为设计与实现 潮州无限软件开发报价行情 金山区品牌软件开发电话多少 未转变者服务器怎么解封玩家 虹口区机电软件开发厂家直销 一年级网络安全教育短视频 网络安全实践日志 惠州通信软件开发零售价 网络安全知识培训班开班讲话 湖北正规软件开发
0