1、对外键建立索引,大数据量时性能提高明显(建索引可以直接【Merge Join】,否则还须在查询时生成HASH表作【Hash Join】)

2、尽量少使用inner join,使用left join是更好的选择

3、对where 条件建立索引,where 条件中列顺序与索引顺序一致,使用前置的模糊查询时,索引无效

4、有时候使用union 比join 效率更好(因为join连接比较费时)

5、有时候自定义函数比长的SQL更有效(是因为函数是已编译过的,长SQL是在执行是编译?)

6、使用exists(not exists)函数替代in(not in),大数据量时效率提高明显(很好理解,exists,在查询时直接匹配对应的项,而in,则每一个匹配的内容都要便利in的内容)

使用exists(not exists)函数替代in(not in),提高执行效率

select RoomTypeId from roomtype where roomtypeid not in
(select roomtype from fun_SelectPrice('2007-10-28','2007-12-11',100,300))

select RoomTypeId from roomtype where not exists
(select * from fun_SelectPrice('2007-10-28','2007-12-11',100,300) where roomtypeid =roomtype )

http://www.cnblogs.com/zihunqingxin/archive/2013/06/15/3137610.html 也有类似的举例

7、 索引不可过多,索引过多将会使Insert ,Update, Delete变慢

C#中使用SQL注意:

1、建立尽量少的connection,连接是宝贵资源。

2、尽量少的执行command

3、transaction应尽量晚开始,尽量快终止

4、尽量少的使用前置模糊查询,前置模糊查询索引失效。

5、必要时使用存储过程,存储过程,减少通信(长SQL,只个别参数的区别),减少编译时间,存储过程是编译好的直接执行

SQL提高性能的更多相关文章

  1. SQL 提高性能

    参考博客:http://www.cnblogs.com/jiekzou/p/5988099.html  非常感谢博主分享. 1.set nocount on 关闭行基数信息,减少网络通信,提高程序性能 ...

  2. SQL Server SQL性能优化之--通过拆分SQL提高执行效率,以及性能高低背后的原因

    复杂SQL拆分优化 拆分SQL是性能优化一种非常有效的方法之一, 具体就是将复杂的SQL按照一定的逻辑逐步分解成简单的SQL,借助临时表,最后执行一个等价的逻辑,已达到高效执行的目的 一直想写一遍通过 ...

  3. 使用WITH AS提高性能简化嵌套SQL(转载)

    使用WITH AS提高性能简化嵌套SQL http://www.cnblogs.com/fygh/archive/2011/08/31/2160266.html

  4. SQL Server 性能优化之——系统化方法提高性能

    SQL Server 性能优化之——系统化方法提高性能 阅读导航 1. 概述 2. 规范逻辑数据库设计 3. 使用高效索引设计 4. 使用高效的查询设计 5. 使用技术分析低性能 6. 总结 1. 概 ...

  5. 使用SQL Server 2000索引视图提高性能

    什么是索引视图? 许多年来,Microsoft? SQL Server? 一直都提供创建虚拟表(称为视图)的功能.在过去,这些视图主要有两种用途: 提供安全机制,将用户限制在一个或多个基表中的数据的某 ...

  6. 转:使用WITH AS提高性能简化嵌套SQL

    使用WITH AS提高性能简化嵌套SQL   一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片 ...

  7. 如何提高sql查询性能到达优化程序的目的

    1.关于SQL查询效率,100w数据 SQL查询效率 step by step -- setp 1.-- 建表create table t_userinfo(userid int identity(1 ...

  8. 【SQL Server性能优化】运用SQL Server的全文检索来提高模糊匹配的效率

    原文:[SQL Server性能优化]运用SQL Server的全文检索来提高模糊匹配的效率 今天去面试,这个公司的业务需要模糊查询数据,之前他们通过mongodb来存储数据,但他们说会有丢数据的问题 ...

  9. SQL 提高查询效率

    1.关于SQL查询效率,100w数据,查询只要1秒,与您分享: 机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试, ...

随机推荐

  1. [NSConcreteValue doubleValue]: unrecognized selector sent to instance

    今天需求说要给在进入某个页面给某个按钮加上放大效果,心想这还不简单,于是三下五除二的把动画加上提交测试了. 下面是动画的代码 NSTimeInterval time = CACurrentMediaT ...

  2. 图论中TSP问题的LINGO求解与应用

    巡回旅行商问题(Traveling Salesman Problem,TSP),也称为货郎担问题.该问题可简单描述为走遍n个城市的最短路.几十年来,出现了很多近似优化算法.如近邻法.贪心算法.最近插入 ...

  3. idea使用Maven创建的JavaWeb项目新建文件时没有打包到target目录报错

    背景:在使用tomcat发布这个项目时,浏览网页,js没有效果. 问题:发现打包之后没有同步到target里 解决办法:点击最右侧的Maven栏->所建项目->Lifecycle-> ...

  4. upstream实现内网网站在公网访问

    背景描述:公司内网有个网站aa.com,B部门需要访问这个aa.com,但是网站部署在内网服务器(服务器是192.168.1网段),B部门网段是192.168.100 需求描述:B部门需要访问aa.c ...

  5. android蜂巢效果、环形菜单、Kotlin影视应用、简约时钟、查看导出App、支付宝AR扫码效果等源码

    Android精选源码 一个蜂巢布局管理器,外观帅气外,动画效果也是很赞 一个基础 UI 框架项目,实现不同布局格式的混排 仿建行app效果,一个环形菜单的布局管理器源码 基于组件化实现的一款用Kot ...

  6. 1.windows-oracle实战第一课

    一.oracle是目前最流行的数据库之一,功能强大.性能卓越.学习要有信心.oracle也做软件,不仅仅是数据库.比如ERP(企业资源计划,用友.金蝶) 二.目前的数据库   相对而言:       ...

  7. linux上一些常用的命令

    1.时时查看tomcat启动信息,首先切换到tomcat的logs目录下 tail -f catalina.out 2.在tomcat的bin目录下启动无权限,需要赋权 chmod 777 *.sh ...

  8. 吴裕雄--天生自然 pythonTensorFlow图形数据处理:TensorFlow图像处理函数

    import numpy as np import tensorflow as tf import matplotlib.pyplot as plt #读取图片 image_raw_data = tf ...

  9. 吴裕雄--天生自然 PYTHON3开发学习:SMTP发送邮件

    import smtplib smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] ) SMTP.sendmail(from_addr, ...

  10. Android之UI View与ViewGroup

    1.基本概念 View:所有可视化控件的父类,Android App屏幕上用户可以交互的对象(例如 按钮 下拉框 文本框等). ViewGroup:View的子类,存放View和ViewGroup对象 ...