sql性能优化的几种方式:

1.查询的模糊匹配:

尽量避免在一个复杂查询里面使用like '%parm%',前面的%会导致相关列的索引无法使用,最好不要用

直接修改后台,根据输入条件,先查出符合条件的供应商,并把相关的记录保存在一个临时表里面,然后在用临时表去做复杂关联

2.索引问题:

在做性能跟踪分析的时候,经常发现有不少的后台程序的问题是因为缺少合适的索引所造成的,有些表甚至一个索引都没有,这种情况往往都是因为设计表的时候,没去定义索引

3.复杂操作

部分update,select语句写的很复杂(经常嵌套多级子查询),可以考虑适当拆成几部,先生成一个临时数据表,在进行关联操作

4.uodate

同一个表的修改在一个过程里面出现好几十次,对于这类脚本其实可以整合在一个update语句来完成

5.在where语句中,尽量避免对索引字段进行计算操作

6.对where语句的优化,避免在where语句中使用in,not in,or后者having,可以使用exist和not  exist代替in和not in

可以使用表链接代替exist,having可以用where来代替

例如:

select  *  from   orders   where name  not in (select  name  from   customer)

优化之后:

select  *  from   orders   where name  not   exist (select  name  from   customer)

不要以字符格式什么数字,要以数字格式申明字符值,否则会使索引无效,产生全表索引

例子:

select  name   from   emp  where   nid=122

不要使用select  name  from  emp where   nid='122'会产生全表扫描

7.对select语句的法则

在应用程序,包和过程中限制select  *  from  table 这种方式

例子:

select   nid  ,name   from   emp   where nid=12

不要使用select   *   from  emp  where  nid=12

8.排序

避免使用耗费资源的操作,带有DISTINCE,UNION,MINUS,INTERSECT,ORDER  BY的sql语句会启动sql引擎执行,耗费资源

的排序(sort)功能,DISTINCT需要执行一次排序操作,而其他的至少需要执行两次排序操作.

9.临时表

慎重使用临时表就可以极大的提高系统性能

10.OSI七层协议

python总结四的更多相关文章

  1. 简学Python第四章__装饰器、迭代器、列表生成式

    Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群  群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发 ...

  2. Python 基础 四 面向对象杂谈

    Python 基础  四  面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...

  3. 初学Python(四)——set

    初学Python(四)——set 初学Python,主要整理一些学习到的知识点,这次是set. # -*- coding:utf-8 -*- #先来看数组和set的差别 d=[1,1,2,3,4,5] ...

  4. python 函数“四剑客”的使用和介绍

    python函数四剑客:lambda.map.filter和reduce. 一.lambda(匿名函数) 1. 学习lambda要注意一下几点: lambda语句被用来创建新的函数对象,并且在运行的时 ...

  5. Python第四天 流程控制 if else条件判断 for循环 while循环

    Python第四天   流程控制   if else条件判断   for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天 ...

  6. 初识Python(四)

    一.数字数据类型 Python的数字数据类型用于存储数值,它是不可变的数据类型,这意味着改变数字数据类型,则需要一个新分配的对象: Python支持四种不同的数值类型: 整型(Int):通常被称为是整 ...

  7. 孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数

    孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 不同类型 ...

  8. 孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成

    孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天经过反复折腾,最终基本上算 ...

  9. 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数

    孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...

  10. 孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类尝试第一天

     孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类,尝试第一天 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 按上一天的规划,这是根据过去我自学其它编程语 ...

随机推荐

  1. Sitecore 营销分类

    分类法是一种分层结构,可用于识别和组织信息.在Sitecore体验平台中,您可以使用分类法对营销活动进行分类,例如广告,目标和活动.您可以在市场营销控制面板中将分类标签应用于这些项目. 营销分类的四种 ...

  2. MD5加密实现方法

    在这里给大家分享一个超级简单的md5加密实现方法 如下: 引用命名空间 using System.Security.Cryptography; using System.Text; C#代码 publ ...

  3. C# foreach循环

    一.简介 foreach循环可以迭代数组或者一个集合对象 二.语法 foreach(数据类型  变量名  in  数组名) {     //语句块: } 循环运行的过程:每一次循环时,从集合中取出一个 ...

  4. Oracle的创建表空间及用户

    学习笔记: 1.创建表空间 --创建表空间 create tablespace thepathofgrace datafile 'c:\thepathofgrace.dbf' size 100m au ...

  5. # .NET Core下操作Git,自动提交代码到

    .NET Core下操作Git,自动提交代码到 转自博客园(阿星Plus) .NET Core 3.0 预览版发布已经好些时日了,博客园也已将其用于生产环境中,可见 .NET Core 日趋成熟 回归 ...

  6. EF 通过导航添加数据

    Fluent Api是指定模型与数据库表之间的对应关系 //一对多 this.HasOptional(x => x.主表).WithMany(x => x.多表).HasForeignKe ...

  7. 递归---Day29

    递归的概述 递归:指在当前方法内自己调用自己的方式叫做递归 递归的分类: 1.直接递归称为方法自身调用自己. 2.间接递归可以用A方法调用B方法,用B方法调用C方法,用C方法调用A方法. 递归的注意事 ...

  8. 02、JDBC查询

    ① 向数据库发送SQL查询语句 首先使用Statement声明一个SQL语句对象,然后让已创建的连接对象con调用方法createStatement()创建SQL语句对象. Statement sql ...

  9. 学习笔记之知识图谱 (Knowledge Graph)

    Knowledge Graph - Wikipedia https://en.wikipedia.org/wiki/Knowledge_Graph The Knowledge Graph is a k ...

  10. 实验吧——看起来有点难(sql盲注)

    题目地址:http://ctf5.shiyanbar.com/basic/inject/ 首先当然是拿admin/admin来试试啊,多次测试发现,有两种错误提示 1.数据库连接失败! 2.登录失败, ...