前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL 优化思路

SQL 优化思路

原创
作者头像
Get
发布2024-03-12 21:21:38
620
发布2024-03-12 21:21:38
代码语言:java
复制
1、优化表结构()
(1)尽量使用数字型字段:若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。
                       这是因为引擎在处理查询和连接时会逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。 
(2)尽可能的使用 varchar 代替 char:可变长字段存储空间小,可以节省存储空间。
(3)当索引列大量重复数据时,可以把索引删除掉:比如有一列是性别,几乎只有男、女、未知,这样的索引是无效的。
2、优化查询语句(避免索引失效)
(1)应尽量避免在 where 子句中使用!=或<>操作符
(2)应尽量避免在 where 子句中使用 or 来连接条件
(3)任何查询也不要出现select *
(4) 避免在 where 子句中对字段进行 null 值判断
3、索引优化(慢查询优化)
(1)对作为查询条件和 order by 的字段建立索引
(2)避免建立过多的索引,多使用组合索引
(3)分析语句,是否加载了不必要的字段/数据
(4)分析 SQL 执行句话,是否命中索引等
(5)如果 SQL 很复杂,优化 SQL 结构
(6)如果表数据量太大,考虑分表
索引有哪些优缺点?
(1) 优点:
        唯一索引可以保证数据库表中每一行的数据的唯一性
        索引可以加快数据查询速度,减少查询时间
(2)缺点:
        创建索引和维护索引要耗费时间
        索引需要占物理空间,除了数据表占用数据空间之外,每一个索引还要占用一定的物理空间
        以表中的数据进行增、删、改的时候,索引也要动态的维护。
慢查询优化:/developer/article/1832945
1、

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com