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. windows远程桌面无法拷贝文件的问题与解决方法

    在开发完往windows服务器上部署系统或者给系统打补丁的时候,都会需要远程桌面的双向拷贝文件功能. 但是有些时候却会发现没有办法拷贝文件,原因主要有两个. 01 远程桌面的剪贴板设置 一个是在远程桌 ...

  2. Java反射复习

    三种实例化对象: 1.Class<?> cls = Class.forName("java.util.Date") ; *** System.out.println(c ...

  3. C#下载csv代码总结

    一.C#导出csv格式代码如下: /// <summary> /// 下载 /// </summary> /// <param name="startTime& ...

  4. redis的主从复制,哨兵值守

    环境: 主服务器:192.168.10.10    Centos 7  redis-5.0.4 从服务器:192.168.10.129  Centos 7  redis-5.0.4 从服务器:192. ...

  5. 使用vnc远程操控Centos7.6

    安装vncserver [root@elegant-snap-3 ~]# yum install tigervnc-server -y Loaded plugins: fastestmirror De ...

  6. C# Net 去除图片白边

    代码根据别人的进行改写,效果更好 直接拷贝使用 名称空间: using System.Drawing; 代码: /// <summary> /// 裁剪图片(去掉百边) /// </ ...

  7. Shell 编程 编辑工具 awk

    本篇主要写一些shell脚本编辑工具awk的使用. 概述 awk是一个功能强大的编辑工具,逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理. awk倾向于将一 ...

  8. PHP使用PhpAnalysis进行分词

    1.介绍 PHPAnalysis分词程序使用居于unicode的词库,使用反向匹配模式分词,理论上兼容编码更广泛,并且对utf-8编码尤为方便. 下载地址:http://www.phpbone.com ...

  9. 程序员学习photoshop

    对于一个程序员来说,掌握photoshop的一些基本操作是必要的. photoshop很简单,很多策划都会的. 为什么策划要会photoshop? 答案: 1:photoshop很简单 2:多掌握一门 ...

  10. 一个从tensorflow_1.14.0-gpu-py3-jupyter镜像生成公司实际需求的Dockerfile

    外部的标准镜像,肯定满足不了公司的实际要求咯~~ 所以,根据同事的需求,重新制作了这个包. 其中可用库为tensorflow,numpy, pandas,scikit-learn,jieba,gens ...