python中如何优化sql?常用技巧有哪些?-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 1641004
  • 博文数量: 2225
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 22379
  • 用 户 组: 普通用户
  • 注册时间: 2020-11-26 14:30
个人简介

更多python、linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩linux\"公众号

文章分类

全部博文(2225)

文章存档

2024年(75)

2023年(643)

2022年(693)

2021年(734)

2020年(80)

我的朋友
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: python/ruby

2022-09-01 11:48:08

  编程人员一定不陌生sql语句吧,在我们日常写项目过程中,或多或少都会使用到sql,sql主要功能有增删改查,其中最常见的就是查询了,因此sql语句的性能就变得至关重要,如何优化sql呢?请看下文:

  一、分解sql

  当我们遇到一个较复杂的sql时,可以选择将它拆分成多个简单的sql,这样既能保证处理结果,sql也更简短了。

  在面对超级复杂sql语句时,性能提升尤为明显,推荐分解为小查询来进行优化,不过在应用设计时,如果一个查询能解决问题且不会产生性能问题,这是完全没问题的。

  分解可以使缓存更高效,可以很方便地缓存单表查询结果对应的结果,执行单个查询也可以减少表锁的竞争,在程序应用层做关联,更容易对数据库进行拆分,也更容易做到高性能和可扩展。

  二、查询切分

  遇到结果集很大的查询,我们可以采用“分而治之”的思想,即将大查询切分为小查询,每个查询功能完全一样,只是各自完成一小部分,每次只返回一小部分的查询结果,类似于分页查询。

  查询切分不管是对于sql查询本身,还是对于上层业务来说,都是很小的开销。

  三、执行计划

  使用explain关键字,可以让我们知道mysql是如何执行sql语句的,可以帮助我们分析我们的查询语句或是表结构的性能瓶颈,explain的查询结果还会告诉我们索引主键是如何被利用的,数据表示如何被搜索或排序的等等。

  四、遵守原则

  在我们平时写sql时,养成良好习惯就可以很大程度上避免一些sql性能问题。盘点以下几点:

  a. 永远为每张表设置一个id主键;

  b. 避免使用select *;

  c. 为搜索字段建立索引;

  d. 在join表时使用对应类型的列,并将其索引;

  e. 尽可能使用not null;

  五、使用查询缓存

  当有很多相同查询被执行多次时,这些结果往往会被放入一个缓存中,这样后续的相同查询就不用操作而直接访问缓存结果了。

  mysql查询缓存保存查询返回的完整结果。当查询命中该缓存,mysql会like返回结果,跳过了解析、优化和执行截断。

  这是提高查询性能最有效的方法之一,而且这是被mysql引擎处理的,通常mysql默认是不开启查询缓存的,需要手动开启。

阅读(3791) | 评论(0) | 转发(0) |
0

上一篇:

下一篇:

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图