千家信息网

有哪些写SQL的好建议

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本篇内容主要讲解"有哪些写SQL的好建议",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"有哪些写SQL的好建议"吧!1. 在执行删除或者更新语句,尽量加上l
千家信息网最后更新 2025年01月20日有哪些写SQL的好建议

本篇内容主要讲解"有哪些写SQL的好建议",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"有哪些写SQL的好建议"吧!

1. 在执行删除或者更新语句,尽量加上limit,它是SQL后悔药加了limit 主要有这些好处:

  • 降低写错SQL的代价, 如果不加limit,执行的时候一不小心手抖或卡机,数据大概就全被删掉了,删错了怎么办?加了limit 200,一切就不同了,可以通过binlog日志快速恢复。SQL效率可能会更高,你在SQL行中,加了limit 1,如果第一条就命中目标return, 没有limit的话,还会继续执行扫描表。

  • 避免了长事务,delete执行时,如果age加了索引,MySQL会将所有相关的行加写锁和间隙锁,所有执行相关行会被锁住,如果删除数量大,直接无法使用相关业务。当你删除数据量很大时,加 limit限制记录数,就不容易把cpu打满。

2. 变更SQL操作先在测试环境测试,可以避免有语法错误就放到生产上。变更SQL操作需要写明详细操作步骤,特别是有依赖关系的时候,比如:先修改表结构再增加对应的数据。

更换Sql操作有回滚方案,并在上生产前,review对应变更SQL。

3. where后面的字段,留意其数据类型的隐式转换,这样可以优化性能。因为没加单引号时,是字符串和数字的比较,类型不匹配,MySQL就会做隐式的类型转换,把它们转换为浮点数再做比较,最后导致索引失效。

4. 在操作生产的数据时,修改或者删除SQL,先写WHERE查一下,确认后再补充 delete 或 update。

5. 减少不必要的字段返回,可以节省资源、减少网络开销,用到覆盖索引,减少回表,提高查询效率。比如运用select <具体字段> 代替 select * 。

6. 数据库和表的字符集尽量统一使用UTF8编码,可以避免乱码问题以及不同字符集比较转换,导致的索引失效问题。若想存储表情,选择utf8mb4来进行存储,请注意它与utf-8的区别。

7. 尽量使用varchar代替 char。因为首先变长字段存储空间小,可以节省存储空间。

8. 慎用distinct关键字,它一般用来过滤重复记录,以返回不重复的记录。可以在查询一个字段或者很少字段的情况下使用时,能带来优化效果。但如果在字段很多的时候使用,会降低查询效率。

9. SQL命令行修改数据,养成begin + commit 事务的习惯,这也是一颗SQL后悔药。

10. 索引命名要规范,主键索引名为 pk_ 字段名;唯一索引名为 uk _字段名 ;普通索引名则为 idx _字段名。比如pk_即primary key;uk_即unique key;idx_即index 的简称。

11. where从句中不对列进行函数转换和表达式计算,因为索引列上使用mysql的内置函数,索引失效。

12. SQL语句中不IN包含的值不能太多,如果数值过多,产生的消耗也就较大。MySQL对于IN做了相应的优化,即将IN中的常量全部存储在一个数组里面,而且这个数组是排好序的。能用between就不要用in了,或者使用连接来替换。

13. 在适当的时候,使用覆盖索引。它能够让你的SQL语句不需要回表,仅访问索引就能得到全部需要的数据,大大提升了查询效率。

到此,相信大家对"有哪些写SQL的好建议"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

索引 字段 数据 存储 查询 效率 时候 建议 字符 类型 语句 不同 事务 内容 函数 后悔药 字符集 数组 空间 问题 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 传奇服务器怎么监控玩家 安卓软件开发会英文吗 浙江互联网络技术咨询案例 数据库项目实践训练 喋血复仇你与服务器连接超时 可以白嫖服务器的国内厂商 软件开发技术指标要求 网络技术运输层 新吴区环保网络技术收购价格 我的世界服务器负载过重 服务器的数据库被攻击了怎么解决 何永强 网络安全 参考文献数据库应用格式 中国网络安全等级保护2.0 网络安全违法违规app 数据库中哪个命令是全部选出 国内比较好的软件开发团队 云服务器共享文件在哪里 云南昆明比较快的dns服务器 软件开发培训生就业前景 手机端怎么自己开个方舟服务器 韩百川服务器 什么小说把服务器写崩了 网络安全心得体会内容少一点 自动获取ip地址说明服务器启动 做好的ppt更改数据库 计算机网络技术的主要技术有哪些 批量管理服务器远程软件 数据库安全的工具包 怎么样在电脑设置一个服务器环境
0